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

系统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-rosgraphpython3-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-rosgraphpython3-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.rhkb.cn/news/491231.html

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

相关文章

.NET 技术 | 调用系统API创建Windows服务

01阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失&#xf…

win10配置子系统Ubuntu子系统(无需通过Windows应用市场)实际操作记录

win10配置子系统Ubuntu子系统(无需通过Windows应用市场)实际操作记录 参考教程 : win10配置子系统Ubuntu子系统(无需通过Windows应用市场) - 一佳一 - 博客园 开启虚拟机服务的 以管理员方式运行PowerShell运行命令。 &#xf…

Leetcode经典题11--加油站

题目描述 在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 给定两个整数数组 gas 和…

网络层IP协议(TCP)

IP协议: 在了解IP协议之前,我们市面上看到的"路由器"其实就是工作在网络层。如下图: 那么网络层中的IP协议究竟是如何发送数据包的呢? IP报头: IP协议的报头是比较复杂的,作为程序猿只需要我们重…

【深度学习量化交易8】miniQMT快速上手教程案例集——使用xtQuant进行获取实时行情数据篇

我是Mr.看海,我在尝试用信号处理的知识积累和思考方式做量化交易,应用深度学习和AI实现股票自动交易,目的是实现财务自由~ 目前我正在开发基于miniQMT的量化交易系统。 在前几篇的文章中讲到,我正在开发的看海量化交易系统&#x…

【HarmonyOS NEXT】ArkTs数据类型解析与使用

1. 背景 为什么设计ArkTS? 1.1 其它语言有版权【Java?Kotlin?】以及历史问题【Java内存?】 1.2 生态,可复用前端生态的三方库,兼容JS/TS语言生态ArkTs解决了JS/TS中的哪些问题? 2.1 **程序健壮性…

精彩回顾|Cocos开发者沙龙长沙站

长沙-不一样 Cocos 开发者沙龙长沙站&#xff0c;完全超出了我们的预期&#xff0c;一开始还担心没有太多人报名。最后发现&#xff0c;全场爆满&#xff0c;座无虚席。 <<< 左右滑动见更多 >>> 许多小伙伴曾反馈过&#xff0c;在以往的开发者沙龙回顾文章中…

elasticsearch设置密码访问

1 用户认证介绍 默认ES是没有设置用户认证访问的&#xff0c;所以每次访问时&#xff0c;直接调相关API就能查询和写入数据。现在做一个认证&#xff0c;只有通过认证的用户才能访问和操作ES。 2 开启加密设置 1.生成证书文件 /usr/share/elasticsearch/bin/elasticsearch-…

docker安装Elasticsearch和Kibana

上传文件 加载tar包 安装 1.安装elasticsearch 通过下面的Docker命令即可安装单机版本的elasticsearch&#xff1a; docker run -d \--name es \-e "ES_JAVA_OPTS-Xms512m -Xmx512m" \-e "discovery.typesingle-node" \-v es-data:/usr/share/elastics…

Ubuntu 20.04 24.04 双网卡 Bond 配置指南

前言&#xff1a;在现代服务器管理中&#xff0c;网络的稳定性和可靠性至关重要。为了提高网络的冗余性和负载能力&#xff0c;我们经常需要配置多个网络接口以实现链路聚合或故障转移。Ubuntu系统自17.10版本起&#xff0c;引入了Netplan作为新的网络配置抽象化工具&#xff0…

热更新解决方案3 —— xLua

概述 xLua框架导入和AB包相关准备 xLua导入 其它的导入 C#调用Lua 1.Lua解析器 using System.Collections; using System.Collections.Generic; using UnityEngine; //引用命名空间 using XLua;public class Lesson1_LuaEnv : MonoBehaviour {// Start is called before the fi…

【日常笔记】Spring boot:编写 Content type = ‘text/plain‘ 接口

一、项目场景&#xff1a; 接口&#xff1a;Context-Type&#xff1a;text/plain 方式&#xff1a;POST 项目场景&#xff1a;硬件回调接口 二、实战 PostMapping(value "/xx/xxx", consumes "text/plain" ) 2.1、接口 /*** return String* time 202…

光伏智能巡检

无人值守光伏巡检解决方案 1.任务制定 规划巡检任务&#xff0c;定时执行&#xff0c;自动放飞、收纳、充电&#xff0c;随时待命 2.自动起飞、巡航 无人机按照既定巡检任务&#xff0c;自主作业&#xff0c;多场景自适应&#xff0c;航飞视频实况直播。 3.智能分析 对无人…

【Isaac Lab】Ubuntu22.04安装英伟达驱动

目录 1.1 禁用nouveau驱动 1.2 安装必要的依赖项 1.3 下载安装 1.4 查看是否安装成功 1.5 安装CUDA 1.5.1 下载 1.5.2 按照提示进行下载安装 1.5.3 添加环境变量 1.5.4 测试CUDA是否安装成功 1.1 禁用nouveau驱动 输入以下命令打开blacklist.conf文件 sudo vim /etc…

深入C语言文件操作:从库函数到系统调用

引言 文件操作是编程中不可或缺的一部分&#xff0c;尤其在C语言中&#xff0c;文件操作不仅是处理数据的基本手段&#xff0c;也是连接程序与外部世界的重要桥梁。C语言提供了丰富的库函数来处理文件&#xff0c;如 fopen、fclose、fread、fwrite 等。然而&#xff0c;这些库…

Word2Vec 模型 PyTorch 实现并复现论文中的数据集

详细注解链接&#xff1a;https://www.orzzz.net/directory/codes/Word2Vec/index.html 欢迎咨询&#xff01;

Vue中纯前端实现导出简单Excel表格的功能

Vue 前端Excel导出 Vue中纯前端导出简单Excel表格的方法(使用vue-json-excel插件) 前言 在许多的后台系统中少不了导出Excel表格的功能&#xff0c;在项目中纯前端使用vue-json-excel插件来实现简单Excel表格的导出功能。 使用方法 1、安装依赖 npm install vue-json-exc…

「数据结构详解·十五」树状数组

「数据结构详解一」树的初步「数据结构详解二」二叉树的初步「数据结构详解三」栈「数据结构详解四」队列「数据结构详解五」链表「数据结构详解六」哈希表「数据结构详解七」并查集的初步「数据结构详解八」带权并查集 & 扩展域并查集「数据结构详解九」图的初步「数据结构…

复合机器人为生产提供精准的建议和决策支持

在现代化生产的浪潮中&#xff0c;智能复合机器人以其卓越的性能和高度智能化特点&#xff0c;正成为保障生产安全与可靠性的重要力量。 智能复合机器人具备精确的感知、判断和决策能力&#xff0c;能够在复杂的生产环境中自主导航、精确操作&#xff0c;避免了人为因素可能导致…

实现按键按下(低电平)检测到下降沿

按照流程进行编程 步骤1&#xff1a; 初始化函数 包括时基工作参数配置 输入通道配置 更新中断使能 使能捕获、捕获中断及计数器 HAL_TIM_IC_Init(&ic_handle) //时基参数配置 HAL_TIM_IC_ConfigChannel(&ic_handle,&ic_config,TIM_CHANNEL_2) //输…