ubuntu+ros新手笔记(二):古月·ROS2入门21讲学习笔记

news2024/12/19 3:29:11

系统ubuntu22.04
ros2 humble

按照如下视频教程学习的:【古月居】古月·ROS2入门21讲 | 带你认识一个全新的机器人操作系统

此处仅记录我报错的地方,以及相应的解决方案,没有出错的略过!

对应的古月居ROS2入门21讲源码下载地址:

Gitee:https://gitee.com/guyuehome/ros2_21_tutorials
Github:https://github.com/guyuehome/ros2_21_tutorials

1. 第3讲:3. ROS2安装(我没有问题 ^_^)

视频教程:安装过程参照【古月居】古月·ROS2入门21讲 | 带你认识一个全新的机器人操作系统

或者一键安装:古月居的ROS安利 | ROS一键安装脚本 或者小鱼工具【ROS2】Ubuntu22.04安装ROS humble都可以。

我在这一步没有问题 ^_^

2. 第6讲:6.工作空间与功能包,开发过程的大本营

我在6.工作空间与功能包,开发过程的大本营这一步出错:

2.1 rosdepc install报错:Cannot locate rosdep definition for [rospy]

rosdepc install -i --from-path src --rosdistro humble -y

运行上面的指令时,报错:

xj@xj:~/dev_ws$ rosdep install -i --from-path src --rosdistro humble -y
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
learning_service: Cannot locate rosdep definition for [rospy]
learning_topic: Cannot locate rosdep definition for [rospy]
learning_parameter: Cannot locate rosdep definition for [rospy]
learning_launch: Cannot locate rosdep definition for [catkin]
learning_tf: Cannot locate rosdep definition for [tf]
xj@xj:~/dev_ws$ 

直接安装缺失的包,我按照下面的指令安装后就可以colcon build了

sudo apt-get install python3-rospy

确实缺挺多包的:

xj@xj:~/dev_ws$ sudo apt-get install python3-rospy
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  python3-catkin python3-genmsg python3-genpy python3-roscpp-msg python3-rosgraph
  python3-rosgraph-msgs python3-roslib python3-rospkg python3-std-msgs
The following NEW packages will be installed:
  python3-catkin python3-genmsg python3-genpy python3-roscpp-msg python3-rosgraph
  python3-rosgraph-msgs python3-roslib python3-rospkg python3-rospy python3-std-msgs
0 upgraded, 10 newly installed, 0 to remove and 5 not upgraded.
Need to get 248 kB of archives.
After this operation, 1,585 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 https://mirrors.xjtu.edu.cn/ubuntu jammy/universe amd64 python3-catkin all 0.8.10-7 [22.8 kB]
Get:2 https://mirrors.xjtu.edu.cn/ubuntu jammy/universe amd64 python3-genmsg all 0.5.16-5 [23.7 kB]
Get:3 https://mirrors.xjtu.edu.cn/ubuntu jammy/universe amd64 python3-genpy all 0.6.16-1 [31.4 kB]
Get:4 https://mirrors.xjtu.edu.cn/ubuntu jammy/universe amd64 python3-roscpp-msg all 1.15.14+ds-2build2 [6,782 B]
Get:5 https://mirrors.xjtu.edu.cn/ubuntu jammy/universe amd64 python3-rosgraph all 1.15.14+ds-2build2 [30.9 kB]
Get:6 https://mirrors.xjtu.edu.cn/ubuntu jammy/universe amd64 python3-std-msgs all 0.5.13-2 [10.7 kB]
Get:7 https://mirrors.xjtu.edu.cn/ubuntu jammy/universe amd64 python3-rosgraph-msgs all 1.11.3-2 [7,272 B]
Get:8 https://mirrors.xjtu.edu.cn/ubuntu jammy/universe amd64 python3-roslib all 1.15.8-3 [36.8 kB]
Get:9 https://mirrors.xjtu.edu.cn/ubuntu jammy/universe amd64 python3-rospy all 1.15.14+ds-2build2 [75.5 kB]
Get:10 http://packages.ros.org/ros2/ubuntu jammy/main amd64 python3-rospkg all 1.5.1-100 [2,524 B]
Fetched 248 kB in 2s (146 kB/s)             
Selecting previously unselected package python3-catkin.
(Reading database ... 300924 files and directories currently installed.)
Preparing to unpack .../0-python3-catkin_0.8.10-7_all.deb ...
Unpacking python3-catkin (0.8.10-7) ...
Selecting previously unselected package python3-genmsg.
Preparing to unpack .../1-python3-genmsg_0.5.16-5_all.deb ...
Unpacking python3-genmsg (0.5.16-5) ...
Selecting previously unselected package python3-genpy.
Preparing to unpack .../2-python3-genpy_0.6.16-1_all.deb ...
Unpacking python3-genpy (0.6.16-1) ...
Selecting previously unselected package python3-roscpp-msg.
Preparing to unpack .../3-python3-roscpp-msg_1.15.14+ds-2build2_all.deb ...
Unpacking python3-roscpp-msg (1.15.14+ds-2build2) ...
Selecting previously unselected package python3-rospkg.
Preparing to unpack .../4-python3-rospkg_1.5.1-100_all.deb ...
Unpacking python3-rospkg (1.5.1-100) ...
Selecting previously unselected package python3-rosgraph.
Preparing to unpack .../5-python3-rosgraph_1.15.14+ds-2build2_all.deb ...
Unpacking python3-rosgraph (1.15.14+ds-2build2) ...
Selecting previously unselected package python3-std-msgs.
Preparing to unpack .../6-python3-std-msgs_0.5.13-2_all.deb ...
Unpacking python3-std-msgs (0.5.13-2) ...
Selecting previously unselected package python3-rosgraph-msgs.
Preparing to unpack .../7-python3-rosgraph-msgs_1.11.3-2_all.deb ...
Unpacking python3-rosgraph-msgs (1.11.3-2) ...
Selecting previously unselected package python3-roslib.
Preparing to unpack .../8-python3-roslib_1.15.8-3_all.deb ...
Unpacking python3-roslib (1.15.8-3) ...
Selecting previously unselected package python3-rospy.
Preparing to unpack .../9-python3-rospy_1.15.14+ds-2build2_all.deb ...
Unpacking python3-rospy (1.15.14+ds-2build2) ...
Setting up python3-genmsg (0.5.16-5) ...
Setting up python3-rospkg (1.5.1-100) ...
Setting up python3-rosgraph (1.15.14+ds-2build2) ...
Setting up python3-genpy (0.6.16-1) ...
Setting up python3-std-msgs (0.5.13-2) ...
Setting up python3-catkin (0.8.10-7) ...
Setting up python3-roscpp-msg (1.15.14+ds-2build2) ...
Setting up python3-rosgraph-msgs (1.11.3-2) ...
Setting up python3-roslib (1.15.8-3) ...
Setting up python3-rospy (1.15.14+ds-2build2) ...
xj@xj:~/dev_ws$

2.2 colcon build报错

含泪教训:古月居ROS2入门21讲源码下载错了,我原来下载的是ros1的教程源码,但是在ros2系统里编译,而catkin是ros1的编译命令,所以在ros2里就报错了~
在这里插入图片描述
下载ros2的教程源码就可以了!
再次

colcon build

源码编译成功!!

在这里插入图片描述

2.3 验证

上面都没有问题的话,再次运行指令:

rosdepc install -i --from-path src --rosdistro humble -y

不再报错了!!
在这里插入图片描述

终端打印全文

xj@xj:~/dev_ws$ rosdepc install -i --from-path src --rosdistro humble -y
您已经成功安装rosdepc,下面提示的用法中,请将rosdep替换为rosdepc使用~
欢迎使用国内版rosdep之rosdepc,我是作者小鱼!
学习机器人,就关注《鱼香ROS》(公众号|B站|CSDN)!
小鱼rosdepc正式为您服务
executing command [sudo -H apt-get install -y ros-humble-joint-state-publisher-gui]
[sudo] password for xj: 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  ros-humble-joint-state-publisher
The following NEW packages will be installed:
  ros-humble-joint-state-publisher ros-humble-joint-state-publisher-gui
0 upgraded, 2 newly installed, 0 to remove and 5 not upgraded.
Need to get 31.6 kB of archives.
After this operation, 136 kB of additional disk space will be used.
Get:1 http://packages.ros.org/ros2/ubuntu jammy/main amd64 ros-humble-joint-state-publisher amd64 2.4.0-1jammy.20241128.030805 [16.1 kB]
Get:2 http://packages.ros.org/ros2/ubuntu jammy/main amd64 ros-humble-joint-state-publisher-gui amd64 2.4.0-1jammy.20241128.033111 [15.5 kB]
Fetched 31.6 kB in 2s (19.9 kB/s)                                
Selecting previously unselected package ros-humble-joint-state-publisher.
(Reading database ... 303527 files and directories currently installed.)
Preparing to unpack .../ros-humble-joint-state-publisher_2.4.0-1jammy.20241128.030805_amd64.deb ...
Unpacking ros-humble-joint-state-publisher (2.4.0-1jammy.20241128.030805) ...
Selecting previously unselected package ros-humble-joint-state-publisher-gui.
Preparing to unpack .../ros-humble-joint-state-publisher-gui_2.4.0-1jammy.20241128.033111_amd64.deb ...
Unpacking ros-humble-joint-state-publisher-gui (2.4.0-1jammy.20241128.033111) ...
Setting up ros-humble-joint-state-publisher (2.4.0-1jammy.20241128.030805) ...
Setting up ros-humble-joint-state-publisher-gui (2.4.0-1jammy.20241128.033111) ...
executing command [sudo -H apt-get install -y ros-humble-xacro]
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  ros-humble-xacro
0 upgraded, 1 newly installed, 0 to remove and 5 not upgraded.
Need to get 36.8 kB of archives.
After this operation, 154 kB of additional disk space will be used.
Get:1 http://packages.ros.org/ros2/ubuntu jammy/main amd64 ros-humble-xacro amd64 2.0.8-1jammy.20241125.233221 [36.8 kB]
Fetched 36.8 kB in 1s (30.2 kB/s)          
Selecting previously unselected package ros-humble-xacro.
(Reading database ... 303571 files and directories currently installed.)
Preparing to unpack .../ros-humble-xacro_2.0.8-1jammy.20241125.233221_amd64.deb ...
Unpacking ros-humble-xacro (2.0.8-1jammy.20241125.233221) ...
Setting up ros-humble-xacro (2.0.8-1jammy.20241125.233221) ...
#All required rosdeps installed successfully
---------------------------------------------------------------------------
---------------------------------------------------------------------------
小鱼科普:rosdep干什么用的?可以跳过吗?https://fishros.org.cn/forum/topic/2124
如果再使用过程中遇到任何问题,欢迎通过fishros.org.cn反馈,或者加入QQ交流群(139707339)
xj@xj:~/dev_ws$ 

3. 第18讲. Gazebo:三维物理仿真平台

22点07分开始运行gazebo,22点34分还没加载出来gazebo的橘色页面。。。

注:已经按照教程从这个网址https://github.com/osrf/gazebo_models下载文件夹后,重命名为models文件夹,并保存到了~/.gazebo/models路径下了

在这里插入图片描述

3.1. 尝试重启–没用

重启没用。。。

3.2. 问chatgpt–解决

以下操作解决我的问题啦!!chatgpt详细回复见这个网页

为 Gazebo 和 ROS 2 进行环境变量设置:
编辑 ~/.bashrc 文件
添加以下内容:

# Gazebo 环境变量
export GAZEBO_MODEL_PATH=/usr/share/gazebo-${GAZEBO_VERSION}/models
export GAZEBO_PLUGIN_PATH=/usr/lib/gazebo-${GAZEBO_VERSION}/plugins
source /usr/share/gazebo/setup.sh
# ROS 2 环境变量
source /opt/ros/humble/setup.bash

将 ${GAZEBO_VERSION} 替换为 fortress。(我没替换也可以的)
执行以下命令使其生效:

source ~/.bashrc

我按照第2步操作就解决辣!!
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IDEA 可视化使用 git rebase 合并分支步骤 使git分支树保持整洁

模拟环境 dev 分支开发完一个功能,需要合并到 master 分支,如果现在直接 merge 合并的话 git分支树会出现杂乱分叉,先把 master 分支 rebase 到 dev git分支树就会是整洁的一条直线 git rebase介绍 rebase:翻译成中文是重新设定,…

Windows环境 (Ubuntu 24.04.1 LTS ) 国内镜像,用apt-get命令安装RabbitMQ,java代码样例

一、环境 Windows11 WSL(Ubuntu 24.04.1) 二、思路 1 用Windows中的Ubuntu安装RabbitMQ,贴近Linux的线上环境; 2 RabbitMQ用erlang语言编写的,先安装erlang的运行环境; 2 用Linux的apt-get命令安装,解决软件依赖…

使用ElasticSearch实现全文检索

文章目录 全文检索任务描述技术难点任务目标实现过程1. java读取Json文件,并导入MySQL数据库中2. 利用Logstah完成MySQL到ES的数据同步3. 开始编写功能接口3.1 全文检索接口3.2 查询详情 4. 前端调用 全文检索 任务描述 在获取到数据之后如何在ES中进行数据建模&a…

CTFHUB-web(SSRF)

内网访问 点击进入环境,输入 http://127.0.0.1/flag.php 伪协议读取文件 /?urlfile:///var/www/html/flag.php 右击查看页面源代码 端口扫描 1.根据题目提示我们知道端口号在8000-9000之间,使用bp抓包并进行爆破 POST请求 点击环境,访问flag.php 查看页…

数据结构 ——前缀树查词典的实现

数据结构 ——前缀树查词典的实现 一、前缀树的概念 前缀树是一种多叉树结构,主要用于存储字符串。每个节点代表一个字符,路径从根节点到叶节点表示一个完整的字符串。前缀树的关键特征是 共享前缀,也就是说,如果两个字符串有相…

React里循环tab列表,并实现点击切换class

介绍 在 React 框架里,通过循环去显示 tab列表的标题,并且添加点击事件,当前点击的tab高亮显示。就像 vue 里 通过 v-for 显示列表并且点击时添加 activeClass 一样。 实现效果 代码 主要通过 map方法来实现列表的循环显示,然后…

selenium 在已打开浏览器上继续调试

关闭浏览器,终端执行如下指令,--user-data-dir换成自己的User Data路径 chrome.exe --remote-debugging-port9222 --user-data-dir"C:\Users\xxx\AppData\Local\Google\Chrome\User Data" 会打开浏览器,打开百度,如下状…

Pytest-Bdd vs Behave:选择最适合的 Python BDD 框架

Pytest-Bdd vs Behave:选择最适合的 Python BDD 框架 Pytest BDD vs Behave:选择最适合的 Python BDD 框架BDD 介绍Python BDD 框架列表Python BehavePytest BDDPytest BDD vs Behave:关键区别Pytest BDD vs Behave:最佳应用场景结…

B站bilibili视频转文字字幕下载方法

本文将讲述介绍一种使用本地工具如何快速的下载B站的字幕为本地文本文件的方法。 通常获取B站字幕需要在浏览器中安装第三方插件,通过插件获取字幕。随着大模型,生成式AI,ChatGPT的应用,B站也提供了AI小助手对视频的内容进行总结…

ElasticSearch的自动补全功能(拼音分词器、自定义分词器、DSL实现自动补全查询、RestAPI实现自动补全查询)

文章目录 1. 什么是自动补全2. 拼音分词器2.1 初识拼音分词器2.2 下载拼音分词器2.3 安装拼音分词器2.4 测试拼音分词器 3. 自定义分词器3.1 拼音分词器存在的问题3.2 分词器(analyzer)的组成3.3 如何自定义分词器3.4 拼音分词器的可选参数3.5 配置自定义…

day12 接口测试 ——入门→精通→实战(1)

【没有所谓的运气🍬,只有绝对的努力✊】 目录 1、接口测试分类 1.1 内部接口: 1.2 外部接口: 2、目前接口架构设计 2.1、基于SOAP架构, 2.2、基于RPC架构, 2.3、基于RestFul架构, 2.3.1…

54、库卡机器人轴的软限位设置

步骤1:将用户组改为“专家”。 步骤2:点击“投入运行”----“售后服务”-----“软件限位开关” 步骤3:就可以针对每个轴修改对应的角度值,然后点击“保存”。

PHP+MySQL 学生信息管理系统

目录 MySQL建表指令 主页面展示 主页面源代码如下 增:添加学生信息 添加html如下 html:主要用于显示网页内容 成功添加后回显 ​编辑 增加php如下 删:删除学生信息 删除html如下 成功删除后回显 删除php如下 改:修改学…

【第三节】Git 基本操作指南

目录 前言 一、获取与创建项目 1.1 git init 1.2 git clone 二、基本快照操作 2.1 git add 2.2 git status 2.3 git diff 2.4 git commit 2.5 git reset HEAD 三、 文件管理 3.1 git rm 3.2 git mv 四、Git 文件状态 5.1 工作目录 5.2 暂存区 5.3 本地仓库 5…

【第六节】Git Flow:分支管理模型与工作流程

一、Git Flow 简介 1.1 什么是 Git Flow Git Flow 是一种基于 Git 的分支管理模型,旨在帮助团队更好地管理和发布软件。它由 Vincent Driessen 在 2010 年提出,通过一套标准的分支命名和工作流程,使开发、测试和发布过程更加有序和高效。不过…

Windows 与 Linux 下 Ping IPv6 地址 | 常用网络命令

注:本文为网络命令相关文章合辑。 未整理去重。 一、IPv6 概述 IPv6 即 “Internet 协议版本 6”,因 IPv4 地址资源面临耗尽问题而被引入以替代 IPv4。IPv6 则提供了理论上多达 2 128 2^{128} 2128 个地址,有效解决地址不足困境。 IPv6 具…

GB28181系列三:GB28181流媒体服务器ZLMediaKit

我的音视频/流媒体开源项目(github) GB28181系列目录 目录 一、ZLMediaKit介绍 二、 ZLMediaKit安装、运行(Ubuntu) 1、安装 2、运行 3、配置 三、ZLMediaKit使用 一、ZLMediaKit介绍 ZLMediaKit是一个基于C11的高性能运营级流媒体服务框架,项目地址&#xf…

【深度学习】深刻理解Swin Transformer

Swin Transformer 是一种基于 Transformer 的视觉模型,由 Microsoft 研究团队提出,旨在解决传统 Transformer 模型在计算机视觉任务中的高计算复杂度问题。其全称是 Shifted Window Transformer,通过引入分层架构和滑动窗口机制,S…

uniCloud云开发视频教程-从基础入门到项目开发实战-uniapp进阶课文章管理系统(云函数/云数据库/云存储)

大家好,我是爱搞知识的咸虾米。 今天给大家带来一门uniCloud基础入门到项目开发实战的课程。 视频学习地址:https://www.bilibili.com/video/BV1PP411E7qG/ 开始学习这门课之前,最好先学习一下uniapp零基础入门这套课,相信很多同…

GLB格式转换为STL格式

GLB与STL格式简介 GLB格式 GLB代表“GL传输格式二进制文件”(GL Transmission Format Binary)。GLB主要用于共享3D数据,包含三维模型、场景、光源、材质、节点层次和动画等详细信息,是一种标准化的文件格式,适用于多…