LVI_SAM 虚拟机安装复现(一)

news/2025/2/27 19:21:46/文章来源:https://www.cnblogs.com/luckydoog/p/18741728

0. 前言

高能警告:LVI_SAM 的安装步骤是繁琐的,一个坑接着一个坑,请预留48+小时的安装时间,和80%以上的san值。非战斗人员请尽快撤离。
预备知识:虚拟机安装步骤,ROS基本概念,Makefile工作原理
没有预备知识的话,也没关系,本文也不会给你解释的(

本文是第一大步骤,即安装虚拟机和ROS
警告:本文并不会从零开始教你怎么做,本文所引用的其他文章已经足够详细,而本文只是对他们的补充

LVI_SAM 推荐的配置是 Ubuntu 18.04 + ROS Melodic

安装Linux Ubuntu 18.04
镜像地址
https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/18.04/
这部分我没有遇到问题,所以默认读者也没有问题(

正文的第一部分是安装Ros Melodic

1.Melodic安装

ROS Melodic 安装必成功流程+避坑指南(超详细)-CSDN博客

第一个坑:

sudo rosdep init
sudo rosdep update

这里会报错,本质是因为下载网址 https://raw.githubusercontent.com 是外网地址,连接不上。

用下面链接的这个方案的思路是可以
ROS Melodic 安装必成功流程+避坑指南(超详细)-CSDN博客
其实就是在 https://raw.githubusercontent.com 前面加一个代理地址
文章写成的时候,代理地址是 https://ghproxy.com/

但是现在网址有变动了,我这里重新补充一下。

下面的截图是 https://ghproxy.com/ 的最新网址,原来的 ghproxy.com 已经不能用了。
当前(20250227)的最新网址是 https://ghfast.top
你可以点击链接,进去看一下网址是否更新了(不要傻傻的跟我写一样的地址。

要修改的文件数量有点多,我这里列举一下:
(注意这里行号也不是完全对,你自己要学会判断具体加在哪里,不要当傻子)

文件 行号 修改内容
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py 294 加代理地址
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/init.py 68 加代理地址
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py 35 加代理地址
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py 69 加代理地址
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py 39 加代理地址
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py 68,119 加代理地址
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py 206 加一行代码
加入这行 url = "https://ghproxy.com/" + url, 注意缩进

大概用时1小时,安装完毕。

测试一下

在安装完ROS之后,就可以启动小乌龟了,打开一个终端。

  1. 首先要打开ROS服务
    roscore
  2. 打开一个新终端,打开小乌龟
    rosrun turtlesim turtlesim_node
  3. 打开一个新终端,通过键盘控制小乌龟,这个终端窗口必须置顶才能键盘控制
    rosrun turtlesim turtle_teleop_key

成功啦

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大模型--三种三种检索方式-Dense retrieval / Lexical Retrieval / Multi-Vector Retrieval- 44

1. 参考 M3-Embedding https://github.com/FlagOpen/FlagEmbedding https://arxiv.org/pdf/2402.03216 https://huggingface.co/BAAI/bge-m3 2. Dense retrievalimport torch import torch.nn as nnclass DenseRetrieval(nn.Module):def __init__(self, embedding_dim):super(D…

从拉新到留存,用户生命周期分析全流程

已收藏分享从拉新到留存,用户生命周期分析全流程 2025-02-17 17:02人人都是产品经理在当今竞争激烈的市场环境中,理解并管理用户生命周期是实现用户增长和留存的关键。本文将深入剖析用户生命周期的全流程管理,从拉新到留存,详细解读不同业务类型(如消费品、耐用品、平台型…

朴素贝叶斯其实并不朴素

朴素贝叶斯英文名称NaiveBayes,朴素贝叶斯确实nave,但是并不朴素,而是简单,并不是逻辑上面的简单,而是假设上面的简单。 1.贝叶斯公式 ​ 其中: P(C|X)是类C在给定特征X下的后验概率。 P(X|C)是特征X在给定类C下的条件概率,也叫做似然。 P(C)是类C的先验概率。 P(X)是特…

NocoBase 本周更新汇总:新增路由管理

本周更新包括:支持为页面标签页配置权限,新增路由管理页面等。汇总一周产品更新日志,最新发布可以前往我们的博客查看。 NocoBase 目前更新包括的版本更新包括三个分支:main ,next和 develop。main :截止目前最稳定的版本,推荐安装此版本。 next:包含即将发布的新功能,…

AI安全-模型用户输入注入

顾名思义,在调用AI大模型时,根据用户传入的数据,进行AI处理,调用插件,但模型后端需要调用API,API需要传入的username一个小场景,企业微信对话调用AI去修改当前密码 假设开发者设计如下: 用户输入-> AI -> 调用插件修改密码 修改密码插件实现:a.com/change_passw…

基于Microsoft.Extensions.VectorData实现语义搜索

本文介绍了Microsoft.Extensions.Vector的基本概念 和 基本使用,结合Embedding Model(如all-minilm) 和 VectorStore(如Qdrant),我们可以快速实现语义搜索,而不仅仅是关键字匹配。如果你也是.NET程序员希望参与AI应用的开发,那就快快了解和使用基于Microsoft.Extensioi…

KubeSphere 企业版 v4.1.3 发布!可观测性深度优化,管理策略更灵活更安全

KubeSphere 企业版始终致力于为企业提供安全、稳定、高效的云原生全栈管理能力。在 4.1.3 版本中,KubeSphere 聚焦可观测性深度优化、策略管理灵活升级与安全隔离能力增强,推出多项新特性与优化,进一步释放企业云原生基础设施的潜力,助力业务高效运行与智能管理! 核心升级…

[MoE] Deepseek的All-to-all通信: DeepEP代码解读

[MoE] Deepseek的All-to-all通信: DeepEP代码解读 前言 最近,Deepseek开源了一系列MoE的优化技术,让我们看到了AI infra的强大之处。其中,第二天发布的DeepEP则是针对MoE中EP的all-to-all通信进行了优化。 我最近也在关注MoE和all-to-all,之前的MoE普遍使用NCCL的p2p通信进…

Java泛型上下界

有如下类的继承关系 // okFruit apple = new Apple(); List<Fruit> plate = new ArrayList<Apple>(); 它会在Idea里报红线,运行会报错:java: 不兼容的类型: java.util.ArrayList<Apple>无法转换为java.util.List<Fruit>,显然在集合间不存在继承引用…

Redis复习-通信协议、内存回收

通信协议 RESP协议 Redis是一个CS架构的软件,通信一般分两步(不包括pipeline和PubSub): 1.客户端(client)向服务端(server)发送一条命令 2.服务端解析并执行命令,返回响应结果给客户端 因此客户端发送命令的格式、服务端响应结果的格式必须有一个规范,这个规范就是通…

vi和vim快捷键

vi和vim常用的一些快捷键分类 快捷键 说明模式切换 i 进入插入模式(在光标前插入文本)。a 进入插入模式(在光标后插入文本)。o 在当前行下方插入新行并进入插入模式。O 在当前行上方插入新行并进入插入模式。Esc 退出插入模式,返回命令模式。: 进入命令模式(用于输入命令…