ROS学习笔记(7)进一步深入了解ROS第一步

news2024/12/26 15:26:06

0.前提

        最近在学习宾夕法尼亚大学工程学院的ROS公开课,在尽力的去融入全英语的环境(哪怕我的英语水准并不是很高)。既然是在学习,笔记也就是必须的了,当然这些笔记都是课程当中提出的问题,我去寻找后得出的答案,可能并不是最准确的,请一定要认真辨别。

1. (Python & C++) What is a CMakeList? Is it related to a make file used for compiling C++ objects? If yes then what is the difference between the two?(什么是CMakeList?是否作用于c++文件的编译?python和c++文件的编译有何区别?)

1.What is a CMakeList?(什么是CMakeList?)

1.CMakeLists.txt 

        CMakeLists.txt用于构建软件包的 CMake 构建系统的输入。任何符合CMake 的包都包含一个或多个 CMakeLists.txt 文件,用于描述如何生成代码以及将其安装到的位置。用于 catkin 项目的 CMakeLists.txt 文件是一个标准的 CMakeLists.txt 文件,具有一些附加约束。(通俗了讲就是记录了功能包的编译规则。)

2.CMakeLists.txt 文件格式

1.CMake版本:cmake_minimum_required()

2.包名:project()

3.构建所需的其他CMake/Catkin软件包:find_package()

4.开启Python模块支持:catkin_python_setup()

5.消息/服务/操作生成器:add_message_files()、add_service_files()、add_action_files()

6.调用消息/服务/操作生成:generate_messages()

7.指定包构建信息导出 catkin_package()

8.构建的库/可执行文件 add_library()/add_executable()/target_link_libraries()

9.构建测试:catkin_add_gtest()

10.安装规则:install()

详情请查阅ROS官方文档(查看官方资料比网络流传更重要)catkin/CMakeLists.txt - ROS Wiki

2.Is it related to a make file used for compiling C++ objects?(是否作用于c++文件的编译?)

是的,作用于C++文件的编译。

3.If yes then what is the difference between the two?(python和c++文件的编译有何区别?)

Python代码没有使用add_library()和 add_executable()函数

2. (Python & C++) Are you using CMakeList.txt for Python in ROS? Is there a executable object being created for Python?(在ROS中对python文件会使用CMakeList.txt吗?是否为Python创建了可执行对象?)

1.Are you using CMakeList.txt for Python in ROS?(在ROS中对python文件会使用CMakeList.txt吗?)

会的,但我目前还未经历过要使用的情况(我资历太浅)。

2.Is there a executable object being created for Python?(是否为Python创建了可执行对象?)

创建了。

3. (Python & C++) In which directory would you run catkin make?(catkin_make在哪使用?)

在工作空间路径(也就是ws的位置)

4. (Python & C++) The following commands were used in the tutorial:

       $ source / opt / ros / kinetic ( melodic )/ setup . bash

       $ source devel / setup . bash

Why do we need to source setup.bash? What does it do? Why do we have to different setup.bash files here and what is there difference?(为什么我们要source setup.bash?如何做?为什么两者不同?不同在哪?)

设置环境变量 (source devel/setup.bash)是为了系统能够找到这个工作空间,Ubuntu默认使用的终端是bash,需要在bash中设置ros环境变量,最好把它放在家目录的.bashrc目录下,以便系统启动时能够执行其中的source /opt/ros/kinetic/setup.bash指令,使得工作空间中的环境变量可以生效,这样系统终端能够读懂ros命令,执行相应的操作。

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

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

相关文章

Neuro Contamination - Cyberpunk Gaming Music Futuristic Glitchy Sci-fi

无论是展示赛博朋克未来的电影场景,还是介绍高科技武器,你的音乐选择都至关重要。这首曲子的灵感来自科幻小说,旨在让你的观众想象未来的感觉。 潜在用例:科幻游戏、赛博朋克游戏、电影预告片、动作场景和产品广告。 非常适合充…

一呼百应API实时获取商品详情的实现

一、引言 随着电子商务的飞速发展,快速准确地获取商品详情变得尤为重要。一呼百应作为一家知名的B2B采购平台,提供了丰富的商品信息和交易数据。通过一呼百应的API接口,开发者可以实时获取商品详情,为业务决策和数据分析提供有力…

8868体育助力意甲国际米兰俱乐部 发掘强力新援

意甲的国际米兰俱乐部是8868体育的合作球队之一,国际米兰俱乐部本赛季在意甲联赛中的表现非常出色。他们以不败的成绩排名联赛榜首,展现出了强大的实力和稳定性。最近,有报道称,国米已经与泽林斯基完全达成协议,双方已…

Linux实战:部署基于Postfix 与 Dovecot 的邮件系统

一、电子邮件系统简介 在电子邮件系统中,为用户收发邮件的服务器名为邮件用户代理(Mail User Agent,MUA),MTA (邮件传输代理)的工作职责是转发处理不同电子邮件服务供应商之间的邮件&#xff0…

计算机科学专业选网络安全方向咋样?

结论:慎重选择 原因:不妨看看学校相关方向的培养方案 如果学校真的是想让你成为一流网安人才的话 过来人告诉你: 计科的课你得上 不是计科的课你也得上(一般是数学课,比如密码学,数论) 还得在计算机系统基础实验…

摆烂式学习ssh

摆烂式学习ssh ssh工作原理ssh基本使用sshd配置文件密钥登录1.客户端2.服务器3.注意事项4.使用密钥登录测试 ssh高级使用技巧1.在非正规端口启动2.rsync 命令3.透过 ssh 通道加密原本无加密的服务4.以ssh信道配合x server 传递图形接口5.ssh配合virtualbox虚拟机使用技巧 ssh工…

不知道怎么使用IDEA,一篇文章带你快速上手

前言 IDEA 是由 JetBrains 公司开发的软件产品,全称为 IntelliJ IDEA,一个 Java 语言的集成开发环境。它 —— 在业界被公认为是最好的 Java 开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE 支持、Ant、JUnit、CVS 整合、代码审…

MySQL 8.0 InnoDB Tablespaces之Undo Tablespaces(UNDO表空间)

文章目录 MySQL 8.0 InnoDB Tablespaces之Undo Tablespaces(UNDO表空间)Undo Tablespaces(UNDO表空间)默认UNDO表空间添加 Undo 表空间查看Undo 相关的信息查看Undo 相关参数变量查看Undo 状态信息通过information_schema.innodb_…

css文本溢出处理——单行、多行

日常开发中,经常会遇到需要展示的文本过长,这种情况下,为了提高用户的使用体验,最常见的处理方式就是把溢出的文本显示成省略号。 处理文本的溢出的方式:1)单行文本溢出; 2)多行文本…

51单片机中TCON, IE, PCON等寄存器的剖析

在单片机中,如何快速通过名字记忆IQ寄存器中每一个控制位的作用呢? IE(interrupt enable)寄存器中,都是中断的使能位置。 其中的EA(enable all)是总使能位,ES(enable serial)是串口…

Find My帽子|苹果Find My技术与帽子结合,智能防丢,全球定位

帽子是戴在头部的服饰,多数可以覆盖头的整个顶部。主要用于保护头部,部分帽子会有突出的边缘,可以遮盖阳光。帽子亦可作打扮之用,也可以用来保护发型、遮盖秃头。可不同种类,例如贝雷帽、鸭舌帽等等。戴帽子在不同的地…

【23-24 秋学期】NNDL 作业13 优化算法3D可视化

编程实现优化算法,并3D可视化 1. 函数3D可视化 分别画出 和 的3D图 代码如下: from mpl_toolkits.mplot3d import Axes3D import numpy as np from matplotlib import pyplot as plt import torch from nndl.op import Op# 画出x**2 class Optimized…

关于Python里xlwings库对Excel表格的操作(二十四)

这篇小笔记主要记录如何【如何使用xlwings库中的“api”类设置单元格边界线型、粗细、颜色】。前面的小笔记已整理成目录,可点链接去目录寻找所需更方便。 【目录部分内容如下】【点击此处可进入目录】 (1)如何安装导入xlwings库;…

宣传照(私密)勿转发

精美的海报通常都是由UI进行精心设计的,现在有100 件商品需要进行宣传推广,如果每个商品都出一张图显然是不合理的,且商品信息各异。因此需要通过代码的形式生成海报。对此,我也对我宣传一波,企图实现我一夜暴富的伟大…

深度学习代码20240102

import torch from torch import nn #搭建神经网络 class Tudui(nn.Module):def __init__(self):super(Tudui, self).__init__()#在 Tudui 类的构造函数中调用其父类的构造函数,以确保执行父类的初始化操作#通过 super(Tudui, self).__init__(),我们获取…

基于springboot技术的美食烹饪互动平台的设计与实现

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

【C++】浅拷贝 / 深拷贝 / 写时拷贝

文章目录 1. 经典的string类问题2. 浅拷贝3. 深拷贝3.1 传统写法的String类3.2 现代写法的String类 4. 写时拷贝 1. 经典的string类问题 上一篇博客已经对string类进行了简单的介绍,大家只要能够正常使用即可。 链接:【C】string 在面试中,面…

PMP报考别跟风!搞懂这些问题不踩坑

大家好,今天我想和大家分享一下关于PMP报考的一些问题。近年来,PMP认证越来越受到大家的关注,但是报考PMP并不是一件简单的事情,需要我们认真考虑和准备。下面我将从PMP是什么、PMP有什么用、PMP适合什么人考、PMP是学什么的、PMP…

Git开发工具基本使用

文章目录 前言Git仓库基本概念基本环境安装清除原先配置生成秘钥配置Host添加公钥Github添加Gitee添加测试 本地仓库基本概览查看提交日志(log)版本回退添加文件至忽略列表分支分支冲突 远程仓库推送到远程仓库从远程仓库中抓取和拉取 在Idea中使用Git总结 前言 这里只是对Git…

WPF+Halcon 培训项目实战(10):HS组件绘制图案

文章目录 前言相关链接项目专栏运行环境匹配图片模板匹配加载模板文件运行结果 绘制十字标 WPF HS组件绘制图像绘制和生成的区别 前言 为了更好地去学习WPFHalcon,我决定去报个班学一下。原因无非是想换个工作。相关的教学视频来源于下方的Up主的提供的教程。这里只…