当前位置: 首页 > news >正文

ROS机器人实用技术与常见问题解决

问题速查手册(时实更新)更加全面丰富的问题手册记录

1.机器人使用GPARTED挂载未分配空间

  1. 需要在图型界面下操作,建议使用no machine连接 安装gparted磁盘分区工具,
sudo apt-get install gparted -y
  1. 启动软件

sudo gparted
  1. 点击磁盘/内存卡,右键已分配空间,点击Resive/Move

  1. 将出现的滑块条扡到最右边,点击确认
  2. 点击应用按钮,一定要点,否则不生效。

  1. 再次查看磁盘,发现没有分配的空间已挂载到系统

2. 系统内存不足,使用交换内存方法

嵌入式系统在运行视觉导航建图及跑图形界面时,非常消耗内存,这时可能需要设置交换内存,将一部分存储空间作为内存来用:

free -m  #查看是否已有交换内存
mkdir swap  #新建文件夹
cd swap
sudo dd if=/dev/zero of=sfile bs=1024 count=1000000 #设置1G交换内存,不建议超过2G
sudo mkswap sfile   #生成文件
sudo swapon sfile   #启用交换内存
free -m     #查看是否成功

分别代表,全部内存(MB),已使用内存,空闲内存

swap则代表当前本机交换内存,为零代表未设置

注意:

1. 每次开机后都要重新设置才能生效

  1. 交换内存不是越大越好,不建议超过2G。设置后会减少内存压力,但会使系统变慢
  2. 交换内存会使内存卡读写变多,寿命变短。
  3. 当系统运行正常时,不建意使用交换内存,设置交换内存只会让系统变慢,

3. 使用命令配置无线网络(在Xshell中进行)

配置无线网络视频教程

首先通过有线网络或串口登录到设备上

使用ifconfig命令检查当前的网络设备和连接状态,或通过iwconfig命令查找当前设备中的无线网络设备。

如下,其中wlan0就是一张无线网卡。

bingda@robot-srpi3x:~$ ifconfig 
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.31.127  netmask 255.255.255.0  broadcast 192.168.31.255inet6 fe80::3aea:a1e:1c0c:3408  prefixlen 64  scopeid 0x20<link>ether 00:11:22:73:8b:64  txqueuelen 1000  (Ethernet)RX packets 54371  bytes 41065706 (41.0 MB)RX errors 0  dropped 1148  overruns 0  frame 0TX packets 105234  bytes 117558020 (117.5 MB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0device interrupt 43  base 0xa000  lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536inet 127.0.0.1  netmask 255.0.0.0inet6 ::1  prefixlen 128  scopeid 0x10<host>loop  txqueuelen 1000  (Local Loopback)RX packets 988  bytes 334612 (334.6 KB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 988  bytes 334612 (334.6 KB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0wlan0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500ether 08:e9:f6:ae:d8:04  txqueuelen 1000  (Ethernet)RX packets 17237  bytes 5042234 (5.0 MB)RX errors 0  dropped 934  overruns 0  frame 0TX packets 1034  bytes 380898 (380.8 KB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0bingda@robot-srpi3x:~$ iwconfig 
lo        no wireless extensions.eth0      no wireless extensions.wlan0     IEEE 802.11  ESSID:off/any  Mode:Managed  Access Point: Not-Associated   Tx-Power=31 dBm   Retry short limit:7   RTS thr:off   Fragment thr:offPower Management:onsit0      no wireless extensions.tunl0     no wireless extensions.

接下来通过nmcli工具配置wifi连接,其中your_ap是需要连接的wifi热点名,your_password是热点密码

Tips:在命令中输入connect后可以使用TAB自动补全工具列出周围的热点

sudo nmcli device wifi connect your_ap password your_password

输入完成后执行,提示”Device 'wlan0' successfully activated with 'd6a46eb9-c0e3-4c60-9f2b-d6f7ee32de02'.“即为连接成功。

4.修改机器人的主机名

bingda为用户名,robot-rpi4为主机名,一般不建议修改用户名,会涉及到很多权限问题

但主机名是可以修改的

bingda@robot-rpi4:~$

sudo vim /etc/hostname

如修改成robot-rpi4-1

修改成所需的,任何情况下都不建议设置成中文字符,保存后重启机器人主机即可生效

5.apt安装和源码安装功能

例如rtabmap

【ros】rtabmap源码安装_rtabmap安装_星丶星茶会的博客-CSDN博客

1.apt安装与卸载

sudo apt-get install ros-melodic-rtabmap ros-melodic-rtabmap-ros
sudo apt-get remove ros-melodic-rtabmap ros-melodic-rtabmap-ros

2.源码安装

cd ~
git clone https://github.com/introlab/rtabmap.git rtabmap
cd rtabmap/build
cmake -DCMAKE_INSTALL_PREFIX=~/pcb2pgm_ws/devel ..
make -j4
make installcd ~/pcb2pgm_ws
git clone https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros
catkin_make -j1 

6.如何修改小车的导航配置相关参数

可以参考:

如图,进入robot_navigation/param/对应车型

出现常见配置

如各文件名称所示,此处修改对应车型的对应配置

所有参数不能没有限制乱配,其参数量受车型及处理能力影响,特别是增加速度的操作必须逐步增加测试,否则会导致导航无法运行

此处配置文件即是对应的导航文件。小车所用算法均为二进制包安装方式,即无法看到源码,具体解释参考本文第5条,如果想使用源码安装,可以参考以下链接进行使用。更改算法源码及使用源码编译均需要有足够的ROS和UBUNTU使用经验,源码安装及修改请自行查找资料,不提供技术支持。

  1. 冰达仓地址:https://gitee.com/bingda-robot/
  2. move_base全局规划: https://github.com/ros-planning/navigation.git
  3. DWA局部规划:https://github.com/ros-planning/navigation
  4. TEB规划:https://github.com/rst-tu-dortmund/teb_local_planner.git
  5. gmapping建图: https://github.com/ros-perception/slam_gmapping.git
  6. cartographer建图: https://github.com/cartographer-project/cartographer_ros.git
  7. hector建图:https://github.com/tu-darmstadt-ros-pkg/hector_slam.git
  8. karto建图:https://code.ros.org/svn/ros-pkg/stacks/slam_karto/trunk
  9. RtabmapVSLAM: https://github.com/introlab/rtabmap.git

https://github.com/introlab/rtabmap_ros.git

  1. NCNN: https://github.com/Tencent/ncnn/

所有功能算法均可百度获得链接,使用及源码编译方法也可百度。

7.20.04 人脸识别例程出错

opencv版本命名的改动,导致找不到opencv包,分别执行下列命令设置一个软链接即可

sudo apt install opencv-data

sudo ln -s /usr/share/opencv4/ /usr/share/opencv

8.桌面模式要求输入密码

sudo usermod -a -G bluetooth bingda

sudo usermod -a -G netdev bingda

9.gazebo在虚拟机里很卡

可能是因为硬件加速造成的不兼容或其它问题,可以尝试关闭硬件加速

参考如下(来自网上,不保证有效)

10.有时系统明明启动,但是无法连接nomachine

出现这种情况有多种原因:

  1. 路由器有防火墙,在路由器里关闭防火墙。实测水星 360 小米三个路由器经常性发生连接异常,尽量避免使用以上三种品牌路由器
  2. 电路网络必须选择专用模式,不要用公用模式
  1. 或以远程SSH登录到小车,执行

sudo /usr/NX/bin/nxserver --restart

[sudo] password for bingda:

NX> 162 Service: nxd already disabled.

NX> 162 Service: nxserver already disabled.

NX> 162 Service: nxnode already disabled.

NX> 111 New connections to NoMachine server are enabled.

NX> 161 Enabled service: nxserver.

NX> 161 Enabled service: nxnode.

NX> 161 Enabled service: nxd.

  1. 如果3有效,则进入后,点上方nomahine show main window

如图,点击setting -》status 勾选 start the server at system startup开机自启动即可

11.如何更新冰达ROS的功能包

到达功能包下,针对新系统

  1. 移动到功能包下

cd ~/catkin_ws/src/bingda_ros1_noetic

  1. 恢复功能包状态,会删除已建好的地图及更改的代码,请注意备份

git reset --hard

  1. 强制更新功能包

git pull

如果系统比较老,没有/bingda_ros1_noetic统一功能包目录,则需进入每个功能包执行上述2-3命令

12.JETSON NANO无法识别无线网卡, 没有WLAN0 WIFI

sudo gedit /boot/extlinux/extlinux.conf

增加pcie_aspm=off保存后重启,如果不能解决修改pcie_aspm=on ,保存后重启

13.修改进代码不能用,怎么快速恢复代码

冰达的ROS包都有使用git ,使用git 进行恢复

cd ~/catkin_ws/src/bingda_xxx 进入功能包

git reset --hard 强行恢复

git pull 拉取最新代码(需联网)

如果仍不能恢复则直接

14.主板和控制器的串口连接 ubuntu串口映射

ubuntu的物理硬件端口是要权限的,并且不同设备命名不一样,所以我们需要做UDEV映射

roscd base_control/script/udev可以进入udev目录

根据不同板卡 sudo ./***.sh即可完成,执行后重启生效

注意:冰达所有镜像均已执行,一般情况如果出现找不到端口,可以直接刷机恢复

15.冰达的编程实战代码地址

B站视频:ROS编程入门ROS机器人中级-ROS编程入门_哔哩哔哩_bilibili

git clone bingda_tutorials: ROS核心教程--初级教程

B站视频:机器人编程实战ROS机器人进阶-机器人编程实战_哔哩哔哩_bilibili

git clone bingda_application: 冰达机器人进阶课程例程参考源码

相关文章:

ROS机器人实用技术与常见问题解决

问题速查手册&#xff08;时实更新&#xff09;更加全面丰富的问题手册记录 1.机器人使用GPARTED挂载未分配空间 需要在图型界面下操作&#xff0c;建议使用no machine连接 安装gparted磁盘分区工具, sudo apt-get install gparted -y 启动软件 sudo gparted 点击磁盘/内存…...

Linux学习之IP协议

前言&#xff1a; 在学习IP协议i前&#xff0c;我们其实知道网络协议栈是一层层的&#xff0c;上层封装好之后就传给下层&#xff0c;对于我们正要学习到的TCP协议&#xff0c;在对数据进行封装之后&#xff0c;并不是直接就将数据进行传输&#xff0c;而是交给下一层网络层进…...

Python Dash库:一个Web应用只需几行代码

大家好&#xff0c;在数据科学领域&#xff0c;数据可视化是将数据以图形化形式展示出来&#xff0c;帮助我们更直观地理解数据。Python中有一个非常流行的数据可视化库叫做Dash&#xff0c;Dash以其简洁、高效和强大的功能而闻名&#xff0c;它允许开发者快速构建交互式Web应用…...

用Docker 创建并运行一个MySQL容器

可以在DockerHub官网上荡:mysql - Official Image | Docker Hub 指令是:docker pull mysql; 因为文件比较大可能时间比较长&#xff0c;我是跟着黑马的课走的 课程提供的有文件&#xff0c;我就用已有的资源了。 在tmp目录里放入mysql.tar包 然后cd进去 输入指令:docker lo…...

在Java中如何有效地处理内存泄露

在Java中&#xff0c;处理内存泄露有多种方法&#xff0c;以下是其中三种常见的方法及其原理和适用场景&#xff1a; ## 1. 合理使用垃圾回收机制 Java中的垃圾回收机制&#xff08;Garbage Collection&#xff0c;GC&#xff09;是一种自动化的内存管理技术&#xff0c;它可以…...

值得收藏!修复Windows 10/11中找不到输出或输入设备的五种方法

序言 这篇文章主要关注处理声音输出/输入设备未发现的问题。它提供了许多可行的方法,帮助了许多Windows用户。阅读以下内容以找到你的解决方案。 最近,我将Windows 10更新到21H2,发现我的音频无法工作。当我把鼠标放在任务栏上的声音图标(上面有一个十字图标)上时,它会…...

Slurm运行pytorch深度学习模型(小白版)

Slurm背景&#xff1a; Slurm 是一种开源的作业调度系统&#xff0c;它用于管理大型计算集群中的计算资源和作业。你可以把它想象成一个“交通管制员”&#xff0c;负责管理计算集群中的各种任务&#xff0c;确保它们按照用户设定的规则有序地执行。 Slurm 的主要功能包括&…...

SQL如何利用Bitmap思想优化array_contains()函数

目录 0 问题描述 1 位图思想 2 案例实战 3 小结 0 问题描述 在工作中&#xff0c;我们往往使用array_contains()函数来进行存在性问题分析&#xff0c;如判断某个数是否在某个数组中&#xff0c;但是当表数据量过多&#xff0c;存在大量array_contains()函数时&#xff0c;…...

面试官:打开了一个新窗口,怎么知道这个窗口已经被打开过?

前言 我们现在来想这么一个场景&#xff0c;在掘金的文章管理页打开了一篇文章草稿&#xff0c;然后点击编辑&#xff0c;这个时候打开新标签页 A &#xff0c;再点击一次编辑&#xff0c;打开了标签页 B 。 此时如果你在 A 编辑&#xff0c; B 是感知不到 A 的内容变动的&am…...

机器学习项目实践-基础知识部分

环境建立 我们做项目第一步就是单独创建一个python环境&#xff0c;Python新的隔离环境 创建&#xff1a;python -m venv ml 使用&#xff1a;.\Scripts\activate python -m venv ml 是在创建一个名为 ml 的虚拟环境&#xff0c;这样系统会自动创建一个文件夹ml&#xff0c;…...

CNN卷积神经网络,TensorFlow面试题

目录 CNN卷积神经网络 什么是TensorFlow? 张量是什么 TensorFlow有什么优势?...

Android 官网Ota介绍

构建 OTA 软件包 | Android 开源项目 | Android Open Source Project...

Redis(持久化)

文章目录 1.RDB1.介绍2.RDB执行流程3.持久化配置1.Redis持久化的文件是dbfilename指定的文件2.配置基本介绍1.进入redis配置文件2.搜索dbfilename&#xff0c;此时的dump.rdb就是redis持久化的文件3.搜索dir&#xff0c;每次持久化文件&#xff0c;都会在启动redis的当前目录下…...

基于Flask的岗位就业可视化系统(一)

&#x1f31f;欢迎来到 我的博客 —— 探索技术的无限可能&#xff01; &#x1f31f;博客的简介&#xff08;文章目录&#xff09; 前言 本项目综合了基本数据分析的流程&#xff0c;包括数据采集&#xff08;爬虫&#xff09;、数据清洗、数据存储、数据前后端可视化等 推荐…...

嵌入式学习68-C++(运算符重载和虚函数)

知识零碎&#xff1a; cin >> n 相当于scanf C系统提供的6种基本函数 …...

UVA1048/LA3561 Low Cost Air Travel

UVA1048/LA3561 Low Cost Air Travel 题目链接题意输入格式输出格式 分析AC 代码 题目链接 本题是2006年ICPC世界总决赛的A题 题意 很多航空公司都会出售一种联票&#xff0c;要求从头坐&#xff0c;上飞机时上缴机票&#xff0c;可以在中途任何一站下飞机。比如&#xff0c;假…...

学习和分析各种数据结构所要掌握的一个重要知识——CPU的缓存利用率(命中率)

什么是CPU缓存利用率&#xff08;命中率&#xff09;&#xff0c;我们首先要把内存搞清楚。 硬盘是什么&#xff0c;内存是什么&#xff0c;高速缓存是什么&#xff0c;寄存器又是什么&#xff1f; 我们要储存数据就要运用到上面的东西。首先里面的硬盘是可以无电存储的&#…...

IOS自动化—将WDA打包ipa批量安装驱动

前言 CSDN&#xff1a; ios自动化-Xcode、WebDriverAgent环境部署 ios获取原生系统应用的包 如果Mac电脑没有配置好Xcode相关环境,可以参考以上文章。 必要条件 Mac电脑&#xff0c;OS版本在12.4及以上&#xff08;低于这个版本无法安装Xcode14&#xff0c;装不了Xcode14就…...

SAP PP学习笔记12 - 评估MRP的运行结果

上一章讲了MRP的概念&#xff0c;参数&#xff0c;配置等内容。 SAP PP学习笔记11 - PP中的MRP相关概念&#xff0c;参数&#xff0c;配置-CSDN博客 本章来讲 MRP跑完之后呢&#xff0c;要怎么评估这个MRP的运行结果。 1&#xff0c;Stock/Requirements List and MRP List 在…...

AndroidStudio的Iguana版的使用

1.AndroidStudio介绍 Android Studio 是用于开发 Android 应用的官方集成开发环境 (IDE)。Android Studio 基于 IntelliJ IDEA 强大的代码编辑器和开发者工具&#xff0c;还提供更多可提高 Android 应用构建效率的功能&#xff0c;例如&#xff1a; 基于 Gradle 的灵活构建系统…...

通过方法引用获取属性名的底层逻辑是什么?

很多小伙伴可能都用过 MyBatis-Plus&#xff0c;这里边我们构造 where 条件的时候&#xff0c;可以直接通过方法引用的方式去指定属性名&#xff1a; LambdaQueryWrapper<Book> qw new LambdaQueryWrapper<>(); qw.eq(Book::getId, 2); List<Book> list bo…...

自学错误合集--项目打包报错,运行报错持续更新中

java后端自学错误总结 一.项目打包报错2.项目打包之后运行报错 二.项目运行报错 一.项目打包报错 javac: &#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ļ&#xfffd;: E:\xx\xx\xx\docer-xx\src\main\java\xx\xx\xx\xx\xx\xx.java &#xfffd;&#xff…...

KUKA机器人故障报警信息处理(一)

1、KSS00276 机器人参数不等于机器人类型 ①登录专家模式 ②示教器操作&#xff1a;【菜单】—【显示】—【变量】—【单个】 ③名称输入&#xff1a;$ROBTRAFO[] 新值&#xff1a;TRAFONAME[] ④点击【设定值】。 2、电池报警&#xff1a; ①“充电电池警告-发现老化的蓄电池…...

数仓开发:DIM层数据处理

一、了解DIM层 这个就是数仓开发的分层架构 我们现在是在DIM层&#xff0c;从ods表中数据进行加工处理&#xff0c;导入到dwd层&#xff0c;但是记住我们依然是在DIM层&#xff0c;而非是上面的ODS和DWD层。 二、处理维度表数据 ①先确认hive的配置 -- 开启动态分区方案 -- …...

echars设置渐变颜色的方法

在我们日常的开发中&#xff0c;难免会遇到有需求&#xff0c;需要使用echars设置渐变的图表&#xff0c;如果我们需要设置给图表设置渐变颜色的话&#xff0c;我们只需要在 series 配置项中 添加相应的属性配置项即可。 方式一&#xff1a;colorStops type&#xff1a;‘lin…...

SpringBoot3项目打包和运行

六、SpringBoot3项目打包和运行 6.1 添加打包插件 在Spring Boot项目中添加spring-boot-maven-plugin插件是为了支持将项目打包成可执行的可运行jar包。如果不添加spring-boot-maven-plugin插件配置&#xff0c;使用常规的java -jar命令来运行打包后的Spring Boot项目是无法找…...

Spring Cloud Gateway的部署

不要将 Spring Cloud Gateway 部署到 Tomcat 可以将Spring Cloud Gateway打成jar包&#xff0c;并通过jar包部署&#xff0c;步骤&#xff1a; 1. 修改构建配置 确保你的pom.xml文件中的打包方式为jar。 <packaging>jar</packaging> 2 打包项目 mvn clean pack…...

算法提高之树的最长路径

算法提高之树的最长路径 核心思想&#xff1a;树形dp 枚举路径的中间节点用f1[i] 表示i的子树到i的最长距离,f2[i]表示次长距离最终答案就是max(f1[i]f2[i]) #include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N …...

git/gerrit使用遇到的问题

Push时出现的多个问题及其解决 branch【...】not found 这个错误通常出现在 Git 命令中指定的分支名称中包含特殊字符或者语法错误时。需要确保指定的分支名称是正确的&#xff0c;并且没有任何不支持的字符。 例如&#xff0c;如果分支名称是 feature/branch&#xff0c;应该…...

机器学习第二天(监督学习,无监督学习,强化学习,混合学习)

1.是什么 基于数据寻找规律从而建立关系&#xff0c;进行升级&#xff0c;如果是以前的固定算式那就是符号学习了 2.基本框架 3.监督学习和无监督式学习&#xff1a; 监督学习&#xff1a;根据正确结果进行数据的训练&#xff1b; 在监督式学习中&#xff0c;训练数据包括输…...

Rust 解决循环引用

导航 循环引用一、现象二、解决 循环引用 循环引用出现的一个场景就是你指向我&#xff0c;我指向你&#xff0c;导致程序崩溃 解决方式可以通过弱指针&#xff0c;而Rust中的弱指针就是Weak 在Rc中&#xff0c;可以实现&#xff0c;对一个变量&#xff0c;持有多个不可变引…...

ICC2:如何解决pin density过高引起的绕线问题

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 为了追求极致的利用率,综合往往会使用大量的AOI/OAI等多pin cell,然而后端实现过程中,工具为了解决绕线难题,又会通过降低local density的方法实现反向奔赴,即便如此,绕线后仍会残留不少问题,…...

Buuctf-Misc题目练习

打开后是一个gif动图&#xff0c;可以使用stegsolve工具进行逐帧看。 File Format:文件格式 Data Extract:数据提取 Steregram Solve:立体试图 可以左右控制偏移 Frame Browser:帧浏览器 Image Combiner:拼图&#xff0c;图片拼接 所以可以知道我们要选这个Frame Browser …...

费马小定理详解

费马小定理 定义&#xff1a; 设 p 为素数&#xff0c;a 为整数&#xff0c;则 a p ≡ a ( m o d p ) a^p \equiv a\ (\mod p) ap≡a (modp) &#xff0c;若 p ∤ a p \nmid a p∤a &#xff0c;则 a p − 1 ≡ 1 ( m o d p ) a^{p-1} \equiv 1\ (\mod p) ap−1≡1 (modp)…...

PXE批量安装

系统装机的三种引导方式 u盘光盘网络装机 光盘&#xff1a; 1.类似于usb模式 2.刻录模式 系统安装过程 加载boot loader Boot Loader 是在操作系统内核运行之前运行的一段小程序。通过这段小程序&#xff0c;我们可以初始化硬件设备、建立内存空间的映射图&#xff0c;从…...

stm32f103c8t6最小系统板

STM32F103C8T6最小系统板是为基于ARM Cortex-M3内核的STM32F103C8T6微控制器设计的电路板&#xff0c;它包含了单片机正常运行所需的最基本组件。以下是构成STM32F103C8T6最小系统板的基本部分&#xff1a; 单片机芯片&#xff1a;STM32F103C8T6本身&#xff0c;它是一款32位微…...

QCefView 在 Linux 下的编译(更新)

在前面的文章《QT 应用程序中集成浏览器》中已经介绍过 QCefView 的构建。这几天发现 QCefView 代码进行了更新,构建方式也发生了一点点变化,所以在此更新一下 QCefView 的编译方法。 QCefView 其实包含了两个项目,一个就是 QCefView 项目本身,另外一个就是 CefViewCore。…...

无卤素产品是什么?有什么作用?

无卤素产品&#xff0c;即在生产过程中完全不使用卤素元素——氟、氯、溴、碘等——的产品。 卤素元素&#xff0c;虽然在电子设备、材料等领域应用广泛&#xff0c;却也可能潜藏危害。其阻燃剂&#xff0c;一旦在产品生命周期结束后释放&#xff0c;将对土壤和水体造成污染&a…...

esp32-cam 1. 出厂固件编译与测试

0. 环境 - ubuntu18 - esp32-cam - usb转ttl ch340 硬件连接 esp32-camch340板子U0RTXDU0TRXDGNDGND5V5V 1. 安装依赖 sudo apt-get install vim sudo apt install git sudo apt-get install git wget flex bison gperf python python-pip python-setuptools python-serial p…...

题目:线性代数

问题描述&#xff1a; 解题思路&#xff1a; 列相乘&#xff0c;然后行相加。 注意点&#xff1a;由于元素数据范围最大为1e6&#xff0c;两个元素相乘乘积最大为1e12&#xff0c;如果元素类型为int则在乘的过程中就会爆炸&#xff0c;所以需要开long long类型。 AC代码…...

docker学习笔记3:VmWare CentOS7安装与静态ip配置

文章目录 一、安装CentOS71、下载centos镜像2、安装二、设置静态ip三、xshell连接centos本专栏的docker环境是在centos7里安装,因此首先需要会安装centos虚拟机。 本篇博客介绍如何在vm虚拟机里安装centos7。 一、安装CentOS7 1、下载centos镜像 推荐清华源,下载如下版本 …...

leetcode 547.省份数量

思路&#xff1a;dfs 或者这道题用bfs也是可以的。 这道题有点迷惑性&#xff0c;这里的数组给的是无向图的数组&#xff0c;而并不是地图&#xff0c;这里需要着重注意一下。 而后&#xff0c;这里的状态数组st没必要是二维的&#xff0c;我们并不会去遍历所给的数组&#…...

Qt5 框架学习及应用 — 对象树

Qt 对象树 对象树概念Qt为什么使用对象树 &#xff1f;将对象挂到对象树上 对象树概念 对象树&#xff1a;对于树的概念&#xff0c;相信许多学过数据结构的同学应该都不会陌生。在学习数据结构的时候我们所接触的什么二叉树、多叉树、哈夫曼树、AVL树、再到红黑树、B/B树………...

Ansible自动化运维工具---Playbook

一、playbook playbook是剧本的意思 通过 task 调用 ansible 的模块将多个 play 组织在一 个playbook中运行。 playbook本身由以下各部分组成&#xff1a; Tasks: 任务&#xff0c;即调用模块完成的某操作Variables: 变量Templates: 模板Handlers: 处理器&#xff0c;当某条…...

什么是接口和类?Java中的集合框架有哪些主要接口和类?

Java中的集合框架有哪些主要接口和类&#xff1f; Java中的集合框架&#xff08;Java Collections Framework&#xff09;提供了一套丰富的接口和类&#xff0c;用于存储和操作对象的集合。以下是Java集合框架中的主要接口和类&#xff1a; 主要接口 Collection&#xff1a; 这…...

算法学习笔记(最短路——Bellman-Ford)

B e l l m a n — F o r d Bellman—Ford Bellman—Ford是一种单源最短路径算法&#xff0c;可以用于边权为负的图&#xff0c;但是只能用于小图。 大概过程&#xff1a; 枚举每一条边&#xff0c;更新可以更新的节点&#xff08;起点到自己距离为 0 0 0&#xff0c;从地点开…...

try-catch-finally的省略与springboot

在 Java 中&#xff0c;try-catch 块是用于捕获和处理异常的结构&#xff0c;它可以帮助您在代码中处理可能发生的异常情况。在某些情况下&#xff0c;您可能希望省略 try-catch 块并将异常向上抛出&#xff0c;让调用者处理异常。这种情况通常适用于以下情况&#xff1a; 方法…...

容器Docker:轻量级虚拟化技术解析

引言 随着云计算和虚拟化技术的飞速发展&#xff0c;容器技术以其轻量级、高效、可移植的特性&#xff0c;逐渐成为了软件开发和部署的新宠。在众多容器技术中&#xff0c;Docker以其简单易用、功能强大的特点&#xff0c;赢得了广泛的关注和应用。本文将全面介绍Docker的基本概…...

windows 系统中cuda 12.1 环境安装

文章目录 1. 安装cuda 12.11.1 下载1.2 安装 cuda1.2.1 安装步骤1.2.2 环境变量安装1.3 安装cuDNN1.3.1 安装1.3.2 cuDNN配置验证2. anaconda 安装2.1 安装2.2 环境变量配置3. 报错解决1. 安装cuda 12.1 首先通过nvidia-smi 查看可以安装的CUDA最高版本...

字节和旷视提出HiDiffusion,无需训练,只需要一行代码就可以提高 SD 生成图像的清晰度和生成速度。代码已开源。

字节和旷视提出HiDiffusion&#xff0c;无需训练&#xff0c;只需要一行代码就可以提高 SD 生成图像的清晰度和生成速度。代码已开源。 支持将图像生成的分辨率提高至40964096&#xff0c;同时将图像生成速度提升1.5至6倍。 支持所有 SD 模型同时也支持 SD 模型的下游模型&…...

Sam Blackshear谈Move如何赋能开发者

Move编程语言提供了直观的编码体验&#xff0c;让开发者能够快速上手。Mysten Labs的联合创始人兼CTO Sam Blackshear创建了Move&#xff0c;这是一种用于编写智能合约的语言&#xff0c;更像传统编程语言&#xff0c;如JavaScript或Rust。 https://youtu.be/iYe_hG8Mzx8 视频…...

springboot引入第三方jar包本地lib并打包

1&#xff1a;在项目根目录创建lib目录并放入第三方lib包 -- project ----lib &#xff08;放在这儿&#xff09; ----src ----target2&#xff1a;pom中引入第三方lib <!-- 引入magus模块 --><dependency><groupId>org.jeecg.msgus</groupId><art…...

第八篇 Asciidoc 输出 All In One HTML 解决图片无法显示问题

问题:我的图片显示不出来了 小明使用 Asciidoc 来记笔记,他将笔记输出为 HTML 文件。小丽向小明借笔记。小明将 Asciidoc 笔记输出为 HTML文件,并拷贝给了小丽。 但是,小丽发现,图片都显示不出来了。 小丽:小明,你给我的笔记,图片都显示不出来啊。 小明:是我给你的…...

照明灯具十大排名哪个品牌好?照明灯具前十名排行榜大公开!

照明灯具十大排名哪个品牌好&#xff1f;护眼台灯作为照明灯具的重要组成部分&#xff0c;其品质与品牌选择显得尤为关键&#xff0c;市面上品质比较好的护眼台灯品牌有书客、明基、松下等品牌。本文旨在为大家揭晓照明灯具十大排名中的佼佼者&#xff0c;揭示照明灯具前十名的…...

软考--试题六--中介者模式(Mediator)

中介者模式(Meditor) 意图 用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用&#xff0c;从而使其耦合松散&#xff0c;而且可以独立地改变它们之间的交互 结构 适用性 1、一组对象以定义良好但是复杂的方式进行通信&#xff0c;产生的相互依赖关…...

可视化大屏:地图都有哪些样式,看过来!

...