跟着仙凡兄学习 ros2 ubuntu与windows的安装(本人小白开始,一步一步跟着坑走,最后都成功的)

目 录
1 ROS安装的步骤 2
1.1 ROS UBUNTU安装 2
1.1.1 环境配置:UBUNTU20.04 2
1.1.2 设置编码 2
1.1.3 添加ROS2 APT仓库 3
1.1.4 接下来可以安装ROS2了 3
1.1.5 创建 COLCON 工作区并下载教程 3
1.1.6 设置环境 4
1.1.7 双环境设置 4
1.1.8 验证之一 5
1.2 ROS2 WINDOWS安装 5
1.2.1 进入如下网站,安装CHOCOLATEY 5
1.2.2 ROS2 FOXY安装 6
1.2.3 运行ROS 6
1.2.4 ROS在WINDOWS运行出现的问题 9
2 参照网站 9

1 ros安装的步骤
1.1 ros Ubuntu安装
1.1.1 环境配置:ubuntu20.04
官方网址:
https://docs.ros.org/en/humble/Installation/Alternatives/Ubuntu-Development-Setup.html
1.1.2 设置编码
sudo apt update
sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
下面的验证非必须:

运行完上面的命令后,可在终端输入如下命令验证是否成功

$ locale

如果输出如下表明设置编码成功了。

LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE=“en_US.UTF-8”
LC_NUMERIC=“en_US.UTF-8”
LC_TIME=“en_US.UTF-8”
LC_COLLATE=“en_US.UTF-8”
LC_MONETARY=“en_US.UTF-8”
LC_MESSAGES=“en_US.UTF-8”
LC_PAPER=“en_US.UTF-8”
LC_NAME=“en_US.UTF-8”
LC_ADDRESS=“en_US.UTF-8”
LC_TELEPHONE=“en_US.UTF-8”
LC_MEASUREMENT=“en_US.UTF-8”
LC_IDENTIFICATION=“en_US.UTF-8”
LC_ALL=en_US.UTF-8
1.1.3 添加ros2 apt仓库

通过检查此命令的输出,确保已启用Ubuntu Universe存储库。

apt-cache policy | grep universe

输出应如下:

500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
release v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=universe,b=amd64

若没有看到像上面这样的输出行,依次执行如下命令:

sudo apt install software-properties-common
sudo add-apt-repository universe

继续执行如下命令:

sudo apt update && sudo apt install curl gnupg lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
echo “deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main” | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
1.1.4 接下来可以安装ROS2了
sudo apt update
sudo apt upgrade

推荐桌面版,比较推荐。

sudo apt install ros-foxy-desktop
1.1.5 创建 Colcon 工作区并下载教程
在这里插入图片描述

直接参照官网就行
1.1.6 设置环境
source /opt/ros/noetic/setup.bash
source ~/catkin_ws/devel/setup.bash
1.1.7 双环境设置
echo “ROS noetic (1) or ROS2 foxy (2)?”
read edition
if [ “KaTeX parse error: Expected 'EOF', got '#' at position 62: …ic/setup.bash #̲这是ros1根目录环境变量 …edition” -eq “1” ];then
source /opt/ros/noetic/setup.bash #这是ros1根目录环境变量
source ~/catkin_ws/devel/setup.bash#这是ros1工作空间环境变量
echo using ros noetic
else
source /opt/ros/foxy/setup.bash #这是ros2系统环境变量
source ~/colcon_ws/install/local_setup.sh #添加在这里***************
echo using ros2 foxy
fi

在这里插入图片描述

1.1.8 验证之一

打开一个终端输入如下命令:

ros2 run turtlesim turtlesim_node

打开一个新的终端,输入如下命令:

ros2 run turtlesim turtle_teleop_key
1.2 ros2 windows安装
注意:前提安装vs2019以上
1.2.1 进入如下网站,安装chocolatey
https://docs.ros.org/en/iron/Installation/Windows-Install-Binary.html
https://chocolatey.org/install
cmd 以管理员身份运行,运行如下命令
@“%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe” -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command “[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString(‘https://community.chocolatey.org/install.ps1’))” && SET “PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin”
1.2.2 ROS2 foxy安装
第一行命令:创建一个文件夹用以存放chocolatey安装的包。
第二行命令:设置chocolatey的包安装路径
第三行命令:添加源
第四行命令:安装
mkdir c:\opt\chocolatey
set ChocolateyInstall= D:\install\rosPackage
choco source add -n=ros-win -s=“https://aka.ms/ros/public” --priority=1
choco upgrade ros-foxy-desktop -y --execution-timeout=0
其他包:
mkdir c:\opt\chocolatey
set ChocolateyInstall=c:\opt\chocolatey
choco source add -n=ros-win -s=“https://roswin.azurewebsites.net/api/v2” --priority=1
choco upgrade ros-melodic-desktop_full -y --execution-timeout=0
把上面命令执行完,剩下的就是等待了。根据不同的网络状况和会不会架梯等因素,等的时间不同。本人在墙内试了下,慢到想哭,然后架了张梯子等了两个多钟就成了!
1.2.3 运行ros
学习:windows中有空格的路径需要加上"xx xx",例如"Program Files"
1.2.3.1 方法一(推荐)
参考:https://www.codenong.com/cs106261159/
3.1在桌面右键新建一个快捷方式,在"请键入对象的位置"里面输入下面的命令(这里区分VS版本的,本人是社区版本,所以命令如下,不过不是的话可以看看Wiki对应的命令):
C:\Windows\System32\cmd.exe /k " C:“Program Files”“Microsoft Visual Studio”\2022\Professional\Common7\Tools\VsDevCmd.bat " -arch=amd64 -host_arch=amd64&& set ChocolateyInstall= D:\install\rosPackage&& c:\opt\ros\foxy\x64\setup.bat

1.2 将快捷方式命名为"ROS"(或者喜欢别的也行)
1.3 右键快捷方式图标->属性->高级->用管理员方式运行->各种确定
Test:
roscore
就会看到ROS跑起来了!!!当然也可以直接用rosbag直接播放之前采集的bag包并使用rviz去看数据。
1.2.3.2 方法二
参考:https://blog.csdn.net/qq_40344790/article/details/129115083
第一步:建立bat:建立文件 ros.bat(中间不能直接设置setup.bat)
在ros.bat中添加如下内容:
@echo off
C:
cd C:\opt\ros\foxy\x64
C:\Windows\System32\cmd.exe /k “C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\Tools\VsDevCmd.bat” -arch=amd64 -host_arch=amd64
第二步:运行ros.bat
双击ros.bat
第三步:
setup.bat
ros2 run turtlesim turtlesim_node

打开一个新的终端,输入如下命令:

ros2 run turtlesim turtle_teleop_key
方法三
前面介绍的快捷方式的方法有点low,我们可以用Windows Terminal这个新的管理终端来比较好的管理ROS。刚刚在不久前,这个终端的正式版本发布了,因此我们只要去Win10自带的商城Microsoft Store直接下载安装即可。
安装后需要为ROS设置终端环境:
在开始菜单中找到终端并右键选择以管理员身份启动。
在"+“号后面的下拉菜单中选择设置
在设置文件的"profiles"队列中为ROS加入新的设置块,如下:
“profiles” :
{
list:
[

{
“commandline” : “C:\Windows\System32\cmd.exe /k “C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat” -arch=amd64 -host_arch=amd64 && set ChocolateyInstall=c:\opt\chocolatey&& c:\opt\ros\melodic\x64\setup.bat”,
“guid” : “{xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxx}”,
“icon” : “ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png”,
“name” : “ROS”,
“startingDirectory” : “c:\ws”
},
上面的代码中有一行"xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxx”,其需要被替换成VS的全局唯一标识。操作如下:
还是使用"x64 Native Tools Command Prompt for VS 2019"打开VS终端,输入uuidgen,然后就得到全局唯一标志,替换掉那些xxx就可以了。
另外如果终端比较常用来搞ROS,也可以直接设置成打开时默认打开的状态(Windows Terminal其实有点像一个终端管理器,而我们刚才设置的ROS终端只是其中的一个,如果不选择默认打开则一开始打开的是一个普通的PowerShell终端)
设置的操作如下:
“alwaysShowTabs” : true,
“copyOnSelect” : false,
“defaultProfile” : “{xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxx}”,
运行终端的时候同样需要以管理员身份运行,guihub上已经有人提出要让终端始终保持打开就是管理员的权限,然而还没得到实施。在那之前就只能先苦逼的点了,Ctrl+Shift+单击“开始”菜单或任务栏中的终端图标是以管理员身份运行的便捷方式。。。
从本质上来说,它比之前介绍的快捷方式好的地方就是把使用ROS一定会打开的多个终端统一管理起来了,另外的优势似乎就是颜值高了!!

1.2.4 ros在windows运行出现的问题
不过这个控制台不太智能,有下面三个问题:
不能自动补全ROS的命令
默认的字符集是GB2312,如果编程中使用的文档格式是别的(大概率会是UTF-8),那进行catkin_make的时候就会出错
不能在指定路径下打开
对于这三个问题的解决办法是:
无法解决,似乎它在Windows上实现这些命令是经过一系列映射搞出来的,比较难以琢磨,希望有老哥能解决。
使用notepad++等工具将文档转成ANSI编码
无法解决,不太懂这个。
2 参照网站
参照网站:
https://blog.csdn.net/weixin_44458490/article/details/125447703
https://blog.csdn.net/m0_62353836/article/details/128579677(优先)

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

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

相关文章

x-cmd pkg | trafilatura - 网络爬虫和搜索引擎优化工具

目录 简介首次用户技术特点竞品和相关作品进一步阅读 简介 trafilatura 是一个用于从网页上提取文本的命令行工具和 python 包: 提供网络爬虫、下载、抓取以及提取主要文本、元数据和评论等功能可帮助网站导航和从站点地图和提要中提取链接无需数据库,输出即可转换…

Linux Perf 介绍

文章目录 前言 二、安装Perf三、二级命令3.1 perf list3.2 perf record/report3.3 perf stat3.4 perf top 四、使用火焰图进行性能分析4.1 下载火焰图可视化生成器4.2 使用perf采集数据4.3 生成火焰图参考资料 前言 perf是一款Linux性能分析工具,内置在Linux内核的…

【SpringBoot】Java MVC 集成 Swagger 生成 API 文档

使用Swagger你只需要按照它的规范去定义接口及接口相关的信息,就可以做到生成接口文档,以及在线接口调试页面。官网: https://swagger.io/ Knife4j 是为Java MVC框架集成Swagger生成Api文档的增强解决方案。 <dependency><groupId>com.github.xiaoymin</groupI…

ELement UI时间控件el-date-picker误差8小时解决办法

一、问题描述&#xff1a; 在项目中引用了elementui中的date-picker组件&#xff0c;选中的时间跟实际相差八小时&#xff0c;且格式不是自己想要的格式 <el-date-pickertype"date"placeholder"选择日期"format"yyyy/M/d"v-model"form…

微信小程序封装vant 下拉框select 单选组件

先上效果图&#xff1a; 主要是用vant 小程序组件封装的&#xff1a;vant 小程序ui网址&#xff1a;vant-weapp 主要代码如下: 先封装子组件&#xff1a; select-popup 放在 components 文件夹里面 select-popup.wxml: <!--pages/select-popup/select-popup.wxml--> &…

科技智慧,产业链全覆盖:河南恩珅德农业的养殖业务优势

河南恩珅德农业以科技智慧和全产业链覆盖的优势&#xff0c;成功打造了一体化的养殖业务模式&#xff0c;为养殖者提供了全面的支持和优越的管理体验。以下是该企业养殖业务的核心优势&#xff1a; 1. 先进科技智慧 河南恩珅德农业充分利用先进的科技手段&#xff0c;引入智能…

EtherCAT的COE报文

本文主要用于记录工作中需要学习的内容&#xff0c;如有冒犯请私信&#xff01; COE协议 下面我们介绍以下CANOpen在EtherCAT中的应用。 COE的对象字典 COE协议是完全遵循CANopen协议的&#xff0c;但针对EtherCAT通信做了一些扩展&#xff0c;索引为0x1c00~0x1c4f&#xff0…

k8s---pod的生命周期

pod的相关知识 pod是k8s中最小的资源管理组件 pod也是最小化运行容器化的应用的资源管理对象 pod是一个抽象的概念&#xff0c;可以理解为一个或者多个容器化应用的集合。 k8s中pod的两种使用方式 &#xff08;1&#xff09;一个pod中运行一个容器。"每个po中一个容器&…

基于springboot企业物流管理系统

&#x1f345;点赞收藏关注 → 私信领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345;一 、设计说明 1.1 研究背景 互…

门店总数超9000家,手握大众茶饮“下沉市场牌”的古茗冲刺上市

奶茶品牌上市潮来袭。1月2日&#xff0c;奶茶品牌古茗控股有限公司&#xff08;下称“古茗”&#xff09;、蜜雪冰城股份有限公司&#xff08;下称“蜜雪冰城”&#xff09;一同递交招股书&#xff0c;计划在港交所主板上市。 近年来&#xff0c;随着现制茶饮的爆火&#xff0…

nVisual如何实现数据中心资产管理

背景 随着信息技术的迅速发展&#xff0c;数据中心已经成为了企业信息化建设的重要基础设施之一。数据中心不仅承载着大量的企业数据和业务应用&#xff0c;而且也需要大量的资产投入来支持其运营和发展。 因此&#xff0c;数据中心资产管理的重要性也日益凸显&#xff0c;数…

羊大师讲解喝羊奶的好处多,降低脂肪风险还有不少!

羊大师讲解喝羊奶的好处多&#xff0c;降低脂肪风险还有不少&#xff01; 喝羊奶是一种非常健康的饮品&#xff0c;具有许多好处。相比于牛奶&#xff0c;羊奶含有更多的维生素和矿物质&#xff0c;对身体更有益。喝羊奶可以减少脂肪摄入&#xff0c;有助于降低患心血管疾病的…