ROS 工作空间

ROS工作空间一般包括四个目录空间:

1、src目录:用于存放所有ROS包的源代码。在该目录下,可以创建多个子目录,每个子目录对应一个ROS包。

2、build目录:编译过程中产生的中间文件和缓存信息将被存储在此目录中。当需要重新编译工作空间中的包时,这些文件将被使用。

3、devel目录:编译后的可执行文件、库和其他开发工具将被放置在此目录中。这个目录可以通过环境变量$AMENT_PREFIX_PATH来访问,因此可以在这个目录中找到已安装的软件包及其依赖项。

4、install目录:编译成功后,可以使用make install命令将可执行文件安装到该空间中,运行该空间中的环境变量脚本,即可在终端中运行这些可执行文件。(安装空间并不是必需的,很多工作空间中可能没有该文件夹。)

此外,工作空间中还可能包含其他一些文件,例如CMakeLists.txt文件(用于定义构建过程),.rosinstall文件(用于保存工作空间的版本控制信息)以及.catkin_tools文件(用于保存与catkin_tools相关的配置信息)等。

下面是创建 ROS 工作空间的基本步骤:

1、首先,打开终端并转到要创建新工作空间的位置。

在主目录中创建一个新的工作空间,则可以在终端中输入:

    cd ~

2、创建一个新的工作空间目录,并使用 catkin_init_workspace 命令初始化该目录。

创建一个名为 my_ros_workspace 的新工作空间,则可以在终端中输入:

    mkdir my_ros_workspace

    cd my_ros_workspace

    catkin_init_workspace

(这将在工作空间中创建几个重要目录,包括 src、build 和 devel。)

3、在工作空间的 src 目录中添加所需的 ROS 包。

添加名为 turtlesim 的包,可以在终端中输入:

cd ~/my_ros_workspace/src

git clone https://github.com/ros/turtlesim.git

4、创建一个新的 C++ 功能包。

在终端中输入以下命令以在工作空间中创建一个新的名为 "my_cpp_package" 的功能包: cd ~/my_ros_workspace/src catkin_create_pkg my_cpp_package std_msgs rospy roscpp

这将在 src 目录中创建一个名为 my_cpp_package 的子目录,其中包含一个新的 CMakeLists.txt 文件以及其他必要的文件。

5、编写 C++ 代码。在 src/my_cpp_package/src 目录中创建一个新的名为 "main.cpp" 的文件,然后在这个文件中编写 C++ 代码。

(每次添加或更改源代码时都需要重新编译工作空间才能使更改生效。)

6、编译工作空间中的所有软件包。

在终端中输入以下命令以编译 workspaces 中的所有软件包:

cd ~/my_ros_workspace/

catkin_make

7、 最后,设置环境变量,以便使用新编译的软件包。在终端中输入以下命令:

source devel/setup.bash

现在可以运行 ROS 节点了。在终端中输入以下命令:

roslaunch my_cpp_package my_cpp_package.launch

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

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

相关文章

眼科动态图像处理系统使用说明(2023-8-11 ccc)

眼科动态图像处理系统使用说明 2023-8-11 ccc 动态眼科图像捕捉存贮分析与传输系统,是由计算机软件工程师和医学专家组结合,为满足医院临床工作的需要,在2000年开发的专门用于各类眼科图像自动化分析、处理和传输的软件系统。该系统可以和各…

openwrt Docker不能联网

文章参考:docker上网(docker安装openwrt无法上网) - 老白网络 外网不能访问内网是应为防火墙。内网访问外网如下: 清理容器垃圾 docker volume prune -f 创建一个网络 docker network create --subnet172.18.0.0/16 mynet 通过该网络创建gerrit docker run -tid --name ge…

【Python】Pyinstaller打包Linux运行文件,暴露配置文件

Pyinstaller可以将python程序打包成可执行文件,在windows上是exe文件,在linux上是二进制可执行文件。 工作中有需求是把本地python工程打包成后台可运行的服务,考虑到部署环境的不同,可以使用docker镜像的方式,也可以使…

Ubuntu 搜狗输入法无法输入中文解决方案(不需要重装,不需要重启服务器)

Ubuntu 搜狗输入法突然无法输入中文,上午还好用,下午就不好用了,直接上解决方案 1.终端输入pidof fcitx找到搜狗的进程,如下图红框中的就是进程 2.直接杀掉这个进程 3.其实到第二步,如果搜狗输入法自动重启了&#xf…

数据挖掘 决策树

# 编码声明,并不是注释,而是一种特殊的源文件指令,用于指定文件的字符编码格式 # -*- coding: utf-8 -*-import pandas as pd # 提供了DataFrame等数据结构 from sklearn.tree import DecisionTreeClassifier, export_graphviz # 决策树分类…

浪涌防护器件要选对,布局布线更重要!|深圳比创达电子EMC(上)

浪涌测试,作为最常见的EMC抗干扰测试项目之一,基本上是家用消费电子必测的项目;其测试目的是为了验证产品在承受外部的浪涌冲击时能否正常工作。 一、浪涌冲击产生机理及其防护设计 浪涌冲击主要包括雷击浪涌冲击、电力系统内部的开关噪声冲…

笔记本电脑没有声音?几招恢复声音流畅!

笔记本电脑已经成为我们日常生活和工作的重要工具,而其中的声音是其功能之一。然而,有时您可能会遇到笔记本电脑没有声音的问题,这可能是由多种原因引起的。在本文中,我们将深入探讨笔记本电脑没有声音的常见原因,并提…

MCTS蒙特卡洛树搜索(The Monte Carlo Tree Search)

1、简介 蒙特卡罗树搜索是一类树搜索算法的统称,简称MCTS。它是一种用于某些决策过程的启发式搜索算法,且在搜索空间巨大的游戏中会比较有效。从全局来看,蒙特卡洛树搜索的主要目标是:给定一个游戏状态来选择最佳的下一步。等常见…

中小企业如何最大程度地利用CRM系统的潜力?

在当今竞争激烈的商业世界中,客户关系管理(CRM)数字化转型已经成为大企业成功的重要秘诀。大型跨国公司如亚马逊、苹果和微软等已经在CRM数字化方面走在了前列,实现了高度个性化的客户体验,加强了客户忠诚度。 然而&a…

景联文科技入选量子位智库《中国AIGC数据标注产业全景报告》数据标注行业代表机构

量子位智库《中国AIGC数据标注产业全景报告》中指出,数据标注处于重新洗牌时期,更高质量、专业化的数据标注成为刚需。未来五年,国内AI基础数据服务将达到百亿规模,年复合增长率在27%左右。 基于数据基础设施建设、大模型/AI技术理…

使用手机作为电脑的麦克风和摄像头外设

工具 Iriun Iriun 电脑端安装:Iriun Android: Iriun 4K Webcam for PC and Mac - Apps on Google Play Apple: Iriun Webcam for PC and Mac on the App Store 基础功能免费,普通使用足够了。 付费功能: 使用 这里有介绍&#xff1a…

腾讯待办是什么?关停之后如何继续提醒待办事项?

由于业务方向调整,腾讯待办将于2023年的12月20日全面停止运营并下架。那么腾讯待办是什么呢?它是一款以微信小程序呈现的待办事项和日程管理工具,旨在帮助用户更好地管理自己的待办事项和日程安排。用户可以在该小程序中创建待办事项、设置提…

XD6500S— LoRa SIP模块芯片 集成了射频前端和LoRa射频收发器SX1262 应用温湿度传感器 资产跟踪等

XD6500S是一系列LoRa SIP模块,集成了射频前端和LoRa射频收发器SX1262系列,支持LoRa和FSK调制。 收发器SX1262系列,支持LoRa和FSK调制。LoRa技术是一种扩频协议,针对LPWAN 应用的低数据速率、超远距离和超低功耗通信进行了优化。通…

【Linux网络】ssh服务与配置,实现安全的密钥对免密登录

目录 一、SSH基础 1、什么是ssh服务器 2、对比一下ssh协议与telnet协议 3、常见的底层为ssh协议的软件: 4、拓展 二、SSH软件学习 1、ssh服务软件学习 2、sshd公钥传输的原理: 3、ssh命令学习: 4、学习解读sshd服务配置文件&#x…

gin索引 btree索引 gist索引比较

创建例子数据 postgres# create table t_hash as select id,md5(id::text) from generate_series(1,5000000) as id; SELECT 5000000postgres# vacuum ANALYZE t_hash; VACUUMpostgres# \timing Timing is on. postgres# select * from t_hash limit 10;id | …

areadetector ADURL模块应用在面探测控制的初步应用

本章中讨论了使用ADURL控制面探测器Lambda的过程&#xff1a; ADURL的使用请见&#xff1a; EPICS -- areaDetector URL驱动程序-CSDN博客 需要启动一个ADURL的IOC程序&#xff0c;并且设置相关的插件中参数的值&#xff1a; # st.cm < envPaths < st_base.cmddbpf 1…

一个22届被裁前端思想上得转变

距离上篇文章已经过去了三个多月&#xff0c;这个三个月&#xff0c;经历了技术攻坚&#xff0c;然后裁员&#xff0c;退房&#xff0c;回老家&#xff0c;找工作。短短的几个月&#xff0c;就经历社会的一次次毒打&#xff0c;特别是找工作&#xff0c;虽然算上实习我也有两年…

[Android]设置颜色

1.XML资源文件 在 res/values/colors.xml 中定义颜色资源&#xff1a; <color name"my_color">#FFC107</color> 在布局文件中使用&#xff1a; android:background"color/my_color" 在代码中使用&#xff1a; val color: Int ContextCo…

安卓播放解码后的byte字节视频

参考文章&#xff1a;安卓播放解码后的byte字节视频 - 简书 wlmedia播放器集成&#xff08;4&#xff09;— 实现视频播放 一个很棒的库&#xff0c; github地址&#xff1a;https://github.com/wanliyang1990/wlmedia About Android 音视频播放SDK&#xff0c;几句代码即可实…

MAC地址_MAC地址格式_以太网的MAC帧_基础知识

MAC地址 全世界的每块网卡在出厂前都有一个唯一的代码,称为介质访问控制(MAC)地址 一.网络适配器(网卡) 要将计算机连接到以太网&#xff0c;需要使用相应的网络适配器(Adapter)&#xff0c;网络适配器一般简称为“网卡”。在计算机内部&#xff0c;网卡与CPU之间的通信&…