【基于Ubuntu20.04的Autoware.universe安装过程】方案二:双系统 | 详细记录 | 全过程图文 by.Akaxi

目录

一、Autoware.universe背景

Part-1:安装双系统教程

二、查看Windows引导方式

三、制作安装盘

四、设置电脑配置

1.关闭bitlocker

2.压缩硬盘分区

3.关闭Secure Boot

4.关闭intel RST

5.BIOS设置U盘引导

五、安装Ubuntu20.04

1.ventoy引导

2.安装配置

3.安装类型

4.完成安装

Part-2:在Ubuntu20.04上安装Autoware.universe

六、安装ROS2 Galactic

七、安装ros2_dev_tools

八、安装rmw_implementation

1.下载Qv2ray

2.安装Git

3.克隆Autoware到本地

4.自动安装相关依赖

5.安装rmw_implementation

九、安装pacmod

十、安装autoware_core

十一、安装autoware universe dependencies

1.指令安装(慢且不推荐)

2.官网下载安装(快且推荐)

十二、安装pre_commit

十三、安装CUDA

1.指令安装CUDA

2.问题解决

十四、安装cuDNN and TensorRT

十五、下载Universe代码

十六、安装 Autoware ROS依赖包

1.失败案例

2.成功案例

问题1

问题2

十七、编译空间

1.colcon编译的时老是卡死

2.trtexec_vendor包错误


一、Autoware.universe背景

Autoware是一个基于ROS(机器人操作系统)开发的,开源的自动驾驶软件栈。它可以用于为各种各样的车辆,如汽车和卡车等,开发和部署先进辅助驾驶系统(ADAS)

Autoware版本:

Ai:基于ROS1

Auto:基于ROS2

Universe:商用/二次开发

官方文档:https://autowarefoundation.github.io/autoware.universe/main/

Part-1:安装双系统教程

参考视频链接:

https://www.bilibili.com/video/BV1Cc41127B9/?p=2&spm_id_from=pageDriver&vd_source=ce97c013e2f83de15ffb12fba99c812d

最终效果:

可参考我这篇博客:【Windows11通过移动硬盘安装Ubuntu20.04双系统】保姆级教程 | ventoy | BIOS | Ubuntu20.04 | 全过程图文by.Akaxi_ventoy ubuntu-CSDN博客

二、查看Windows引导方式

首先需要查看电脑的BIOS模式,在搜索栏输入“系统信息”

BIOS是计算机系统中的基本固件程序,负责初始化硬件设备、引导操作系统以及提供一些基本的配置选项。

在系统信息可以看到BIOS模式是“UEFI”,那么可以进行进行接下来的步骤,如果显示是“传统”,则需要另行操作,具体参考视频:Windows 和 Ubuntu 双系统的安装和卸载_哔哩哔哩_bilibili

然后将移动硬盘插入笔记本电脑

同样搜索“磁盘管理”

可以看到插入的移动硬盘大小931.48个G

然后右键点击移动硬盘,点击属性

点击“卷”,看看自己的移动硬盘的磁盘分区格式是不是GPT,如果是MBR需要转换成GPT。

三、制作安装盘

SourceURL:file:///home/akaxi-autoware/桌面/【Dora项目】记录-1.30.docx

我们需要一个U盘作为安装盘,在安装盘内提前下载Ubuntu20.04的镜像文件,这样电脑在启动后BIOS会利用U盘作为引导,进行Ubuntu的安装。

首先下载Ubuntu20.04,在华为云网站下载镜像文件

http://repo.huaweicloud.com/ubuntu-releases/

选择这个Ubuntu20.04版本

选择此桌面版,点击下载到Windows系统下

然后需要下载制作启动盘U盘的软件:ventoy

在Gitee上找到此软件,点击下载到Windows系统下

【ventoy】Ventoy 发行版 - Gitee.com

选择ventoy-1.0.96-windows.zip压缩包下载

解压后,点击ventoy

这里需要将U盘插入笔记本电脑

点击打开

需要选择制作的盘,这里选择U盘,然后安装包内的Ventoy版本如果是MBR,需要修改成GPT

点击左上角“配置选项”-“分区类型”-“GPT”

随后点击安装

Kuku安装~

成功!可以看到U盘名字变成了“Ventoy”完成启动盘制作~

然后将之前下载的Ubuntu20.04镜像文件拷贝到U盘中,至此安装盘制作完成!!!

四、设置电脑配置

1.关闭bitlocker

搜索“设备加密”

点击关闭设备加密

这里解密时间取决于之前硬盘加密大小

这里需要大概30mim,嘎嘎开始解密,不解密的话,如果你多次安装失败,会触发蓝屏琐数据,到时候会很麻烦,这里直接关掉,不会对电脑造成任何影响,反而方便我们之后的操作。

显示关闭就完成啦

2.压缩硬盘分区

将移动硬盘插入笔记本电脑

搜索磁盘管理

右击硬盘大小,点击压缩卷

这里输入200 X 1024 = 204800 M【200个G大小】

这样就压缩好啦~

3.关闭Secure Boot

插入U盘和移动硬盘,两个都插上喔,接下来的设置的安装都别拔下来啦,省心。

重启电脑,疯狂按F2键或者Fn+F2键进入笔记本的BIOS设置界面【进入方式取决于电脑型号】

然后关闭Secure Boot

4.关闭intel RST

然后在Configuration找到SATA Controller Mode,改为AHCI

5.BIOS设置U盘引导

在Boot里找到EFI启动项,把USB的U盘作为BIOS的第一引导,就需要将其设置到第一位置,于是这里选择U盘按F6,Move item up list。

可以看到现在U盘作为BIOS的第一引导了,完成啦~~~然后保存退出,电脑即将重启,马上进入Ubuntu20.04的安装!!!!

按F10保存且退出,Yes确认!!!

五、安装Ubuntu20.04

1.ventoy引导

电脑重启后,进入U盘引导,可以看到是我们之前将U盘设置的ventoy,里面装有Ubuntu20.04的iso镜像文件,回车继续

回车选择此iso镜像

选择Boot in normal mode,回车

然后系统就检查镜像完整性,即将进入安装啦~

2.安装配置

选择系统语言为中文(简体)

点击安装Ubuntu

选择键盘布局为Chinese选择Chinese,点击继续~

选择无线网络:现在咱先不连接无线网络,继续

更新和其他软件,选择“正常安装”然后选择“为图形或无线硬件,以及其他媒体格式安装第三方软件”,点击继续

安装类型我们一定要选择“其他选项”,这样才能给移动硬盘安装上Ubuntu20.04哦~

3.安装类型

找到我们之前在Windows下给移动硬盘压缩的分区,这里根据“设备”是空闲,“大小”是之前设置的200G大小左右,找到它,点击~

可以看到设备是“空闲”,大小“214749MB”差不多是200G,就它啦!!!然后将它挂在到根目录上~

点击它,创建分区,分区类型是“主分区”,分区位置是“空间起始位置”,挂载点是“/”【/是根目录】,点击完成~

然后再找到设备类型是“efi”,已安装文件是“Windows Boot Manager”的分区,选择它为Windows Boot Manager就可以啦~

将改动写入磁盘,继续

4.完成安装

选择时间为shanghai

点击继续

然后设置用户名字,我就叫“akaxi-autoware”,计算机的名字叫“akaxi-PC”,密码一定要记住啦,之后终端运行程序经常会输入密码哟~

嘎嘎安装~大概15min

安装完成,重启电脑噜!!!

笔记本重启啦,成功进入Ubuntu系统啦,这里拔掉U盘,然后回车进入系统

输入密码后进入Ubuntu系统成功啦~~~通过移动硬盘安装Ubuntu20.04成功~撒花!!!

Part-2:在Ubuntu20.04上安装Autoware.universe

六、安装ROS2 Galactic

鱼香ros一键安装,输入指令一键安装

http://wget http://fishros.com/install -O fishros && . fishros

输入1,一键安装ROS2

依次输入1-2更换源并清理第三方源

依次输入3-1选择安装galactic(ROS2)桌面版,因为Autoware.Universe是基于ROS2的galactic所以需要下载喔~

一顿嘎嘎安装,耐心等待精度条走到100%喔~(大概5min)

七、安装ros2_dev_tools

输入指令嘎嘎安装

sudo apt update && sudo apt install -y \
  build-essential \
  cmake \
  git \
  python3-colcon-common-extensions \
  python3-flake8 \
  python3-pip \
  python3-pytest-cov \
  python3-rosdep \
  python3-setuptools \
  python3-vcstool \
  wget

输入后,完成安装

再输入:

python3 -m pip install -U \
  flake8-blind-except \
  flake8-builtins \
  flake8-class-newline \
  flake8-comprehensions \
  flake8-deprecated \
  flake8-docstrings \
  flake8-import-order \
  flake8-quotes \
  pytest-repeat \
  pytest-rerunfailures \
  pytest \
  setuptools

输入指令后会出现报错,依次输入指令解决:

【1】sudo mkdir -p /etc/ros/rosdep/sources.list.d/
【2】sudo curl -o /etc/ros/rosdep/sources.list.d/20-default.list https://mirrors.tuna.tsinghua.edu.cn/github-raw/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
【3】export ROSDISTRO_INDEX_URL=https://mirrors.tuna.tsinghua.edu.cn/rosdistro/index-v4.yaml
【4】rosdep update --include-eol-distros
【5】echo 'export ROSDISTRO_INDEX_URL=https://mirrors.tuna.tsinghua.edu.cn/rosdistro/index-v4.yaml' >> ~/.bashrc

再次输入指令,即可成功下载~

这里大概率会报错:

ERROR: launchpadlib 1.10.13 requires testresources, which is not installed.

输入指令

sudo apt install python3-testresources

解决啦

梅开三度,再输入一遍指令,测试安装成功否~

八、安装rmw_implementation

1.下载Qv2ray

【参考链接】https://ivpsr.com/2162.html

需要下载Qv2ray软件与其内核文件,下面两个文件:

1.Qv2ray-v2.7.0-linux-x64.AppImage

Github链接:https://github.com/Qv2ray/Qv2ray/releases

2.v2ray-linux-64.zip 

Github链接:https://github.com/v2fly/v2ray-core/releases/tag/v4.31.0

将两个文件放到主目录下,注意要将zip文件解压,在界面点击右键在终端打开

输入指令添加权限:

chmod a+x Qv2ray-v2.7.0-linux-x64.AppImage

输入指令打开Qv2ray软件

./Qv2ray-v2.7.0-linux-x64.AppImage【执行Qv2ray】

选择首选项

按照上述步骤配置内核

然后设置订阅,完成订阅确认后,点击你的订阅分组,右键更新订阅,就可以看到节点啦

2.安装Git

输入指令安装Git,这里很可能Git已经被安装过了,所以已经是最新版,保险起见还是指令安装一下

3.克隆Autoware到本地

输入指令安装autoware到本地文件夹

mkdir autoware_universe
cd autoware_universe/
git clone https://github.com/autowarefoundation/autoware.git -b galactic

这里很可能报错链接超时,这里就需要打开Qv2ray,并且配置一下端口

指令打开Qv2ray:

./Qv2ray-v2.7.0-linux-x64.AppImage

打开后链接到节点喔~~

然后需要配置git端口指令输入:

git config --global http.proxy 127.0.0.1:XXXX

git config --global https.proxy 127.0.0.1:XXXX

【这里的XXXX需要根据自己情况设置,在Ubuntu右上角设置,网络代理】

点击网络代理

可以看到HTTP和HTTPS的代理端口,相应的将修改Git端口指令改为对于端口号,我的就是:

git config --global http.proxy 127.0.0.1:8889

git config --global https.proxy 127.0.0.1:8889

输入配置端口指令后,再次执行克隆指令,就可以将autoware克隆到本地啦!!!

4.自动安装相关依赖

进入下载好的autoware_universe文件夹下的autoware

cd autoware

再自动安装相关依赖

./setup-dev-env.sh

然后就是嘎嘎自动配置相关环境

让输入密码记得输入喔

最后,出现此报错就说明完成啦!后面会手动配置环境的~

5.安装rmw_implementation

配置一下环境变量

cd autoware_universe/
source amd64.env

【1】sudo apt update
【2】rmw_implementation_dashed=$(eval sed -e "s/_/-/g" <<< "${rmw_implementation}")
sudo apt install ros-${rosdistro}-${rmw_implementation_dashed}
【3】echo '' >> ~/.bashrc && echo "export RMW_IMPLEMENTATION=${rmw_implementation}" >> ~/.bashrc

完成~

九、安装pacmod

依次输入指令执行安装

【1】cd autoware_universe/
【2】source amd64.env
【3】sudo apt install apt-transport-https
【4】sudo sh -c 'echo "deb [trusted=yes] https://s3.amazonaws.com/autonomoustuff-repo/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/autonomoustuff-public.list'
【5】sudo apt update
【6】sudo apt install ros-${rosdistro}-pacmod3

十、安装autoware_core

pip3 install gdown

十一、安装autoware universe dependencies

1.指令安装(慢且不推荐)

输入指令安装autoware universe dependencies

【1】sudo apt install geographiclib-tools
【2】sudo geographiclib-get-geoids egm2008-1

嘎嘎下载(大概5小时)

中途可能多次关闭,但是会重新连接,耐心等待即可(ps:144MB的东西搞这么久服了)

下载需要4-5小时,取决于节点网络与站点网络,因为在下载到90%的时候突然犯病失败,心态炸了的我打算另辟蹊径,想着能不能自行安装,因为之前通过虚拟机指令安装成功,所以有下载的具体信息,所以采用了下面的方法(推荐)。

2.官网下载安装(快且推荐)

【官网】https://sourceforge.net/projects/geographiclib/postdownload

输入上面的官网链接,即可进入下载

记得科学上网,嘎嘎下载,网速快仅需1分钟

下载后,把压缩包解压

将下载解压的3个文件复制到/usr/share/GeographicLib/geoids目录下,完成啦,是不是轻松加愉快

【可以通过指令移动3个文件】

【1】sudo mv /home/akaxi-autoware/egm2008-1/geoids/egm2008-1.pgm /usr/share/GeographicLib/geoids
【2】sudo mv /home/akaxi-autoware/egm2008-1/geoids/egm2008-1.pgm.aux.xml /usr/share/GeographicLib/geoids
【3】sudo mv /home/akaxi-autoware/egm2008-1/geoids/egm2008-1.wld /usr/share/GeographicLib/geoids

成功~~撒花

十二、安装pre_commit

输入指令安装

【1】clang_format_version=14.0.6
【2】pip3 install pre-commit clang-format==${clang_format_version}

成功!

继续继续输入指令:

sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt install golang

嘎嘎下载

完成!!!加油~~

十三、安装CUDA

1.指令安装CUDA

输入指令安装

【1】cd autoware_universe/
【2】source amd64.env
【3】wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin

【4】sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
【5】sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub
【6】sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"
【7】sudo apt-get update
【8】cuda_version_dashed=$(eval sed -e "s/[.]/-/g" <<< "${cuda_version}")
【9】sudo apt install cuda-${cuda_version_dashed} --no-install-recommends

2.问题解决

输入指令查看显卡:

nvidia-smi

这里我的笔记本支持CUDA版本12以上~

接下来到官网进行下载,选择需要的CUDA最好是env中写的11.6.2版本下载

【官网链接】https://developer.nvidia.com/cuda-toolkit-archive

输入lscpu查看电脑架构

选择架构后得到指令,在终端输入喔,我的是

【1】wget https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda_11.6.2_510.47.03_linux.run
【2】sudo sh cuda_11.6.2_510.47.03_linux.run

开始下载3.2G大小的文件,比较耗时间喔,大概20分钟

如果遇到下载暂停中断,显示s段错误(核心已转移),重复输入第一条指令下载试试,实在不行参考博客

【s段错误链接】https://blog.csdn.net/seaflyren/article/details/104131269

下载成功!!!

输入第二条指令安装

sudo sh cuda_11.6.2_510.47.03_linux.run

【这里输入指令需要等待一会儿~】

选择继续,然后回车

输入accept接受

回车,将安装驱动取消【不要取消!不要取消!不要取消!后面测试取消驱动安装失败啦】

选择安装,回车【Driver项目不要取消哈】

【耐心等待5min左右~~】

完成~

接下来配置一下环境变量,输入指令

sudo gedit ~/.bashrc

在打开的.bashrc最后添加下面两行喔:

export PATH=/usr/local/cuda-11.6/bin${PATH:+:${PATH}} 
export LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

保存后关闭

输入指令ncvv -V检查安装是否成功~

【如果输入指令显示未安装,在前面的驱动安装是否取消了,不要取消喔】

十四、安装cuDNN and TensorRT

输入指令安装CuDNN和TensorRT

【1】cd autoware_universe/
【2】source amd64.env
【3】sudo apt-get install libcudnn8=${cudnn_version} libcudnn8-dev=${cudnn_version}

【4】sudo apt-mark hold libcudnn8 libcudnn8-dev
【5】sudo apt-get install libnvinfer8=${tensorrt_version} libnvonnxparsers8=${tensorrt_version} libnvparsers8=${tensorrt_version} libnvinfer-plugin8=${tensorrt_version} libnvinfer-dev=${tensorrt_version} libnvonnxparsers-dev=${tensorrt_version} libnvparsers-dev=${tensorrt_version} libnvinfer-plugin-dev=${tensorrt_version}

输入Y继续下载喔

完成,继续输入指令下载

【6】sudo apt-mark hold libnvinfer8 libnvonnxparsers8 libnvparsers8 libnvinfer-plugin8 libnvinfer-dev libnvonnxparsers-dev libnvparsers-dev libnvinfer-plugin-dev

成功!!!

十五、下载Universe代码

新建一个src文件夹

右键在终端打开,输入指令打开autoware.repos文件进行修改

sudo gedit autoware.repos

在第27和第28行之间插入下面的代码

universe/external/open_planner:
    type: git
    url: https://github.com/ZATiTech/open_planner.git
    version: main

保存后退出,然后挂上节点

./Qv2ray-v2.7.0-linux-x64.AppImage【执行Qv2ray】

配置一下Git端口

git config --global http.proxy 127.0.0.1:8889
git config --global https.proxy 127.0.0.1:8889

执行指令

vcs import src < autoware.repos

成功!

可以看到src文件下成功下载universe代码咯!!!

十六、安装 Autoware ROS依赖包

1.失败案例

指令更新更新 rosdep 数据库

rosdep update

这里其实是失败的,,skip跳过了很多,回溯前面【第七章安装ros2_dev_tools】解决

【1】sudo mkdir -p /etc/ros/rosdep/sources.list.d/
【2】sudo curl -o /etc/ros/rosdep/sources.list.d/20-default.list https://mirrors.tuna.tsinghua.edu.cn/github-raw/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
【3】export ROSDISTRO_INDEX_URL=https://mirrors.tuna.tsinghua.edu.cn/rosdistro/index-v4.yaml
【4】rosdep update --include-eol-distros
【5】echo 'export ROSDISTRO_INDEX_URL=https://mirrors.tuna.tsinghua.edu.cn/rosdistro/index-v4.yaml' >> ~/.bashrc

安装ROS依赖

【1】source /opt/ros/galactic/setup.bash
【2】rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO

如果遇到问题:

【解决链接】https://blog.csdn.net/weixin_50518868/article/details/119717777

用下面指令下载,把[XXX]里面的东西补上

sudo apt-get install ros-galactic-【缺少的依赖】

我缺少:
ros-galactic-velodyne_monitor
ros-galactic-pointcloud_preprocessor
ros-galactic-tier4_api_utils
ros-galactic-web_controller
ros-galactic-vehicle_info_util
【注意把_换成-】

那我的指令就是
sudo apt-get install ros-galactic-velodyne-monitor ros-galactic-pointcloud-preprocessor ros-galactic-tier4-api-utils ros-galactic-web-controller ros-galactic-pointcloud-preprocessor ros-galactic-velodyne-monitor ros-galactic-tier4-api-utils ros-galactic-vehicle-info-util

【但是提示我未定义到软件依赖项目,搜寻各大CSDN等博客未果,于是重头再来,删掉src,回退第十五章】

2.成功案例

先挂载节点【执行Qv2ray】

./Qv2ray-v2.7.0-linux-x64.AppImage

配置一下Git端口

git config --global http.proxy 127.0.0.1:8889
git config --global https.proxy 127.0.0.1:8889

更新rosdep

rosdep update --include-eol-distros

下载

【1】source /opt/ros/galactic/setup.bash
【2】rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO

【如果不成功,还是像前面的失败案例一样,把src文件删掉,重新按照十五章下载Universe代码,试试用mkdir src指令创建src文件夹,再来一次~】

这里下载open3d比较慢需要2小时左右

下载完open3d后,会下载各种依赖,还需要大概2小时~

回溯前面的报错,是这两个问题:

问题1

解决问题1:

pip install --upgrade --user setuptools==58.3.0

问题2

解决问题2,输入指令解决

pip install --upgrade setuptools

成功啦~~~~耗时4-5小时

十七、编译空间

输入指令开始编译: 

colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release

1.colcon编译的时老是卡死

【解决办法】

https://fishros.org.cn/forum/topic/116/colcon%E7%BC%96%E8%AF%91%E5%AF%BC%E8%87%B4%E7%B3%BB%E7%BB%9F%E5%8D%A1%E6%AD%BB%E9%97%AE%E9%A2%98-cpu100-%E6%88%96-%E5%86%85%E5%AD%98-100

给出参考指令:

colcon build --parallel-workers 6

colcon build --executor sequential

colcon编译时依次构建,不按照并行构建,下面的指令:

【也许可以】colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --executor sequential

2.trtexec_vendor包错误

只编译了48个包,现在科学上网试试。

先挂载节点【执行Qv2ray】

./Qv2ray-v2.7.0-linux-x64.AppImage

配置一下Git端口

git config --global http.proxy 127.0.0.1:8889

git config --global https.proxy 127.0.0.1:8889

再编译试试

显示网络问题

【解决办法】https://blog.csdn.net/yz2630570484/article/details/132902294#t17

编译报错:

trtexec_vendor包编译未通过导致编译失败,为trtexec_vendor包中git clone的依赖库下载失败(网络问题)

在autoware/src中找到对应程序包,将cmakelist中34行:

GIT_REPOSITORY https://github.com/NVIDIA/TensorRT

网址前添加代理https://ghproxy.com/,修改为:

GIT_REPOSITORY https://ghproxy.com/https://github.com/NVIDIA/TensorRT

保存后退出,删除编文件 build、log和install,重新编译即可

使用指令找到trtexec_vendor包

sudo find . -name "trtexec_vendor"

在路径:

~/autoware_universe/autoware/src/universe/autoware.universe/common/trtexec_vendor找到CMakeList.txt文件哦

打开后

在第39行找到:
GIT_REPOSITORY https://github.com/NVIDIA/TensorRT
改为:
GIT_REPOSITORY https://ghproxy.com/https://github.com/NVIDIA/TensorRT

保存后退出哦

删除编译文件 build、log和install,重新编译即可

取消代理
git config --global --unset http.proxy
git config --global --unset https.proxy

编译完成后进行测试,待进行~~

2024.2.25

渝北仙桃数据谷

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/409871.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

matlab悬臂梁有限元分析

1、内容简介 略 47-可以交流、咨询、答疑 2、内容说明 略 建模说明 设计一个长方体的悬臂梁&#xff0c;长宽高分别为100m、10m和15m&#xff0c;材料特性为杨氏模量2e5&#xff0c;泊松比0.3&#xff0c; Matlab有限元分析&#xff08;截图&#xff09; 上图为悬臂梁的扰度…

Redis高并发缓存架构性能优化实战

Redis高并发缓存架构性能优化实战 场景1: 中小型公司Redis缓存架构以及线上问题实战 线程A在master获取锁之后&#xff0c;master在同步数据到slave时&#xff0c;master突然宕机(此时数据还没有同步到slave)&#xff0c;然后slave会自动选举成为新的master&#xff0c;此时线…

K8S安装部署

常见的K8S安装部署方式 Minikube Minikube是一个工具&#xff0c;可以在本地快速运行一个单节点微型K8S&#xff0c;仅用于学习、预览K8S的一些特性使用。 部署地址&#xff1a;Install Tools | Kubernetes Kubeadm Kubeadm也是一个工具&#xff0c;提供kubeadm init和kube…

Spring Cloud Alibaba - 利用Nacos实现高效动态线程池管理

文章目录 引言概述什么是动态线程池Nacos简介如何利用Nacos实现动态线程池管理应用场景Code版本说明POM配置文件Nacos Config配置文件加载顺序1. bootstrap.yml的加载2. application.yml的加载注意事项示例 nacos配置Data IdNacos中Data ID的命名格式解释${spring.application.…

【openGL教程08】基于C++的着色器(02)

LearnOpenGL - Shaders 一、说明 着色器是openGL渲染的重要内容&#xff0c;客户如果想自我实现渲染灵活性&#xff0c;可以用着色器进行编程&#xff0c;这种程序小脚本被传送到GPU的显卡内部&#xff0c;起到动态灵活的着色作用。 二、着色器简述 正如“Hello Triangle”一章…

NXP实战笔记(十):S32K3xx基于RTD-SDK在S32DS上配置CAN通信

目录 1、概述 2、SDK配置 2.1、配置目标 2.2、CAN配置 3、代码实现 4、测试结果 1、概述 S32K3xx的FlexCan与之前的S32K1xx很相似,Can的中断掩码寄存器(IMASK3)与中断标志位寄存器(IFLAG3)依赖于邮箱数。 FlexCan配置实例如下 FlexCan的整体图示如下 Protocol Engine…

AI论文速读 | 【综述】(LLM4TS)大语言模型用于时间序列

题目&#xff1a;Large Language Models for Time Series: A Survey 作者&#xff1a;Xiyuan Zhang , Ranak Roy Chowdhury , Rajesh K. Gupta and Jingbo Shang 机构&#xff1a;加州大学圣地亚哥分校&#xff08;UCSD&#xff09; 网址&#xff1a;https://arxiv.org/abs/…

OPENSSL-PKCS7入门知识介绍

1 PKCS7数据结构说明 p7包括6种数据内容&#xff1a;数据(data),签名数据&#xff08;sign&#xff09;&#xff0c;数字信封数据&#xff08;enveloped&#xff09;&#xff0c;签名数字信封数据&#xff08;signed_and_enveloped&#xff09;&#xff0c;摘要数据&#xff08…

Zookeeper客户端命令、JAVA API、监听原理、写数据原理以及案例

1. Zookeeper节点信息 指定服务端&#xff0c;启动客户端命令&#xff1a; bin/zkCli.sh -server 服务端主机名:端口号 1&#xff09;ls / 查看根节点下面的子节点 ls -s / 查看根节点下面的子节点以及根节点详细信息 其中&#xff0c;cZxid是创建节点的事务id&#xff0c…

RabbitMq:RabbitMq 主从镜像模式②

一、模式思想 所有的技术设计思想&#xff0c;基本都在两点上下功夫&#xff1a;1. 生产力上 2. 稳定性上 二、集群模式 今天又有人问起来rabbitmq的高可用方式&#xff0c;因为和常见的主从模式有点区别&#xff0c;所以就记录一下。 rabbitmq集群的镜像队列提供了更高级的主…

Windows 开机启动 | 启动项管理

开机启动 开机启动对于保障系统的正常运行、提高用户体验、及时响应系统事件以及自动化管理和维护系统都具有重要意义。合理管理开机启动项&#xff0c;系统启动时自动运行必要的程序和服务。 但是&#xff0c;随着操作系统使用时长的增加启动项越来越多&#xff0c;而且还很难…

分布式知识整理

分布式锁 以商场系统超卖现象举例 超卖现象一 现象&#xff1a; 商品卖出数量超出了库存数量。 产生原因&#xff1a; 扣减库存的动作在程序中进行&#xff0c;在程序中计算剩余库存&#xff0c;在并发场景下&#xff0c;导致库存计算错误。 代码复现 es.shutdown(); cycl…

2024年2月16日优雅草蜻蜓API大数据服务中心v1.1.1大更新-UI全新大改版采用最新设计ui·增加心率计算器·退休储蓄计算·贷款还款计算器等数接口

2024年2月16日优雅草蜻蜓API大数据服务中心v1.1.1大更新-UI全新大改版采用最新设计ui增加心率计算器退休储蓄计算贷款还款计算器等数接口 更新日志 前言&#xff1a;本次更新中途跨越了很多个版本&#xff0c;其次本次ui大改版-同步实时发布教程《带9.7k预算的实战项目layuiph…

SpringBoot3整合Swagger3,访问出现404错误问题(未解决)

秉承着能用就用新的的理念&#xff0c;在JDK、SpringBoot、SpringCloud版本的兼容性下&#xff0c;选择了Java17、SpringBoot3.0.2整合Swagger3。 代码编译一切正常&#xff0c;Swagger的Bean也能加载&#xff0c;到了最后访问前端页面swagger-ui的时候出现404。 根据网上资料…

jmeter 压测数据库

当前版本&#xff1a; jmeter 5.6.3mysql 5.7.39 简介 JMeter 是一个开源的 Java 应用程序&#xff0c;主要用于进行性能测试和负载测试。它支持多种协议&#xff0c;包括但不限于 HTTP、HTTPS、FTP、JDBC 以及各种 Web Services。对于数据库的压力测试可以使用 JDBC 协议与数…

字符函数和字符串函数(C语言进阶)(二)

目录 前言 1.4 strcmp 1.5 strncpy strncat strncmp 1.6 strstr 前言 C语言中对字符和字符串的处理是很频繁的&#xff0c;但是c语言本身是没有字符串类型的&#xff0c;字符串通常放在常量字符串中或着字符数组中。 字符串常量适用于那些对它不做修改的字符串函数。 1…

matlab新能源汽车三自由度操纵稳定性分析及优化

1、内容简介 略 可以交流、咨询、答疑 55-新能源汽车三自由度操纵稳定性分析及优化 2、内容说明 略 摘 要 电动化是节能减排、寻求替代能源的最佳途径&#xff0c;已成为行业共识&#xff0c;论文基于江西科技学院桑塔纳轿车油改气项目&#xff0c;在拆除发动机、变速…

低功耗设计——门控时钟

1. 前言 芯片功耗组成中&#xff0c;有高达40%甚至更多是由时钟树消耗掉的。这个结果的原因也很直观&#xff0c;因为这些时钟树在系统中具有最高的切换频率&#xff0c;而且有很多时钟buffer&#xff0c;而且为了最小化时钟延时&#xff0c;它们通常具有很高的驱动强度。此外&…

ChatGPT调教指南 | 咒语指南 | Prompts提示词教程(三)

在人工智能成为我们日常互动中无处不在的一部分的时代&#xff0c;与大型语言模型(llm)有效沟通的能力是无价的。“良好提示的26条原则”为优化与这些复杂系统的交互提供了全面的指导。本指南证明了人类和人工智能之间的微妙关系&#xff0c;强调清晰、专一和结构化的沟通方法。…

matlab绘制雷达图和二维FFT变换图

1、内容简介 略 49-可以交流、咨询、答疑 matlab绘制雷达图和二维FFT变换图 NMO组及NORMAL组 RNFL层、GCL层、IPL层、GCC层、ORL层做雷达图&#xff08;共10张&#xff09; 2、内容说明 略 NMO组及NORMAL组 RNFL层、GCL层、IPL层、GCC层、ORL层请分别做雷达图&#xff08…