当前位置: 首页 > 编程日记 > 正文

新建ROS工作工作空间

空间解释:
src:代码空间(放置功能包:代码、配置文件、.launch文件)
build:编译空间(编译文件:编译过程中产生的,不必去关心的)
devel:开发空间(放置编译生成的可执行文件、库、脚本)
install:安装空间(安装的文件存储位置)
步骤:
1.创建工作空间

$mkdir -p ~/catkin_ws/src
$cd ~/catkin_ws/src
$catkin_init_workspace(变成ROS工作空间)

2.编译工作空间

$cd ~/catkin_ws/
$catkin_make

3.设置环境变量

$ source devel/setup.bash(设置环境变量)

4.检查环境变量

$echo $ROS_PACKAGE_PATH(检查环境变量)

查看文件路径:
在新建工作间里面,即为:catkin_ws里面输入pwd 回车就可以得到路径
工作空间编译命令:
catkin_make
编译src里面源码所有内容,里面会出现build、devel文件夹

要产生install文件夹使用下列命令:

catkin_make install

在这里进行添加
创建功能包
1.创建功能包

$cd ~/catkin_ws/src

格式:$catkin_create_pkg <package_name> [depend1] [depend2] [depend3] (后面是加的依赖,必须在src里面)

$catkin_create_pkg <文件夹名字> std_msgs rospy roscpp

2.编译功能包
必须在功能包里面编译

$cd ~/catkin_ws
$catkin_make
$source ~/catkin_ws/devel/setup.bash

编译是在catkin_ws文件夹里面 catkin_make进行编译

注释:在同一空间下不能创建同名的功能包
不同空间下,可以使用相同的名字功能包
创建功能包里面包含四部分:include、src、CMakeLists.txt、package.xml
include:里面包含头文件

设置环境变量:

source devel/setup.bash

系统才可以调用找到

新建功能包里面,在src里面添加源程序,在CMakeLists.txt里面添加

add_executable(velocity_publisher src/velocity_publisher.cpp)

velocity_publisher:新建功能包名字
src/velocity_publisher.cpp:新建源程序路径

target_link_libraries(velocity_publisher ${catkin_LIBRARIES})

工作完成后,开始编译
在工作空间输入:catkin_make,即可编译成功,如果有错,则需改正

在运行脚本时出现错误

[rospack] Error: package 'learning_topic' not found

则需要在终端输入:

$source ~/catkin_ws/devel/setup.bash

重新运行

cd ~/catkin_ws
rosrun learning_topic velocity_publisher

现在就可以出现小乌龟画圆圈了!!!!

在Home目录下

Ctrl + H

即可打开隐藏文件
在最后添加需要执行的.bash文件名字,每次不需要重新输入,例如:

source /opt/ros/kinetic/setup.bash
source ~/mavros_ws/devel/setup.bash
source ~/mavros_ws/devel/setup.bash
source ~/home/jc/catkin_ws/devel/setup.bash(新建的)

运行Python时确保时可执行权限
右键查看权限
看下:允许作为程序执行文件

相关文章:

用Rhino V7建造机甲学习教程 Building a Mecha using Rhino V7

MP4 |视频:h264&#xff0c;1280720 |音频:AAC&#xff0c;44.1 KHz&#xff0c;2 Ch 语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09; |时长:45节课(16h 55m) |大小解压后:10.8 GB 一级和二级初级和中级 你会学到: 通过一个手把手的项目学…

Nginx学习2:Nginx的安装配置和常用命令

Nginx的安装、常用命令和配置文件 在Linux系统安装Nginx 我们使用虚拟机来完成在Linux系统安装Nginx的步骤&#xff0c;在这里我选择的是CentOS7的Linux系统&#xff0c; 1、到官网下载Nginx 官网地址&#xff1a;http://nginx.org/en/download.html 我们选择稳定版的直接下…

鼠标悬浮指针变手

cursor:pointer; //鼠标悬浮样式转载于:https://www.cnblogs.com/GerryOfZhong/p/5219365.html

linux设备驱动第五篇:驱动中的并发与竟态

目录[-] 综述信号量与互斥锁Completions 机制自旋锁其他的一些选择不加锁算法原子变量与位操作seqlock&#xff08;顺序锁&#xff09;读取-拷贝-更新&#xff08;RCU&#xff09;小结综述 在上一篇介绍了linux驱动的调试方法&#xff0c;这一篇介绍一下在驱动编程中会遇到的并…

Ubuntu16.04运行.run文件

QT配置ROS环境,运行.run文件—参考链接: https://blog.csdn.net/have_fun_/article/details/88242536

终极AutoCAD大师班:成为AutoCAD专家

Ultimate AutoCAD Masterclass: Become an Expert in AutoCAD 流派:电子学习| MP4 |视频:h264&#xff0c;1280720 |音频:AAC&#xff0c;44.1 KHz 语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09;|大小:6.39 GB |时长:9h 58m 使用AutoCAD学习…

《深入理解Java虚拟机》(第二版)学习1:JVM的内存划分

运行时数据区 先来一张图描述一下 JVM 的内存划分 PS&#xff1a;自己画的&#xff0c;丑是难免丑了点… 程序计数器&#xff08;Program Counter Register&#xff09; 程序计数器&#xff08;Program Counter Register&#xff09;是一块较小的内存空间&#xff0c;它可以…

下一个亿万市场:企业级SaaS服务谁能独领风骚

注&#xff1a;SaaS是Software-as-a-Service(软件即服务)的简称&#xff0c;一种完全创新的软件应用模式&#xff0c;简单来说SaaS即为提供商基于互联网为企业提供软件服务。 ​对中小型企业来说&#xff1a;SaaS是采用先进技术&#xff0c;它消除了企业购买、构建和维护基础设…

inline-block在ie6中的经典bug

众所周知&#xff0c;给元素设置 inline-block &#xff0c;可以让ie下的元素出发layout:1。 但是&#xff0c;当给元素设置 inline-block 后&#xff0c;在另外一个class 样式&#xff08;非设置inline-block的class样式&#xff09;重置为inline或者block。对于ie6下&#xf…

各系统QT安装ROS后不显示src问题

刚创建的文件显示如下&#xff1a; 接下来修改这里&#xff1a; 将对勾去掉 之后就可以正常显示&#xff0c;可以添加自己的工作空间以及功能包了

使用脚本完成AutoCAD自动化任务课程

The complete AutoCAD Automation tasks course Using Script MP4 |视频:h264&#xff0c;1280720 |音频:AAC&#xff0c;44.1 KHz&#xff0c;2 Ch 语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09; |时长:42节课(4h 25m) |大小:3.35 GB 含课…

学生管理系统(C语言版)

学生管理系统 这个是大一学习C语言的时候做的一个小项目&#xff0c;代码部分基本都是自己一人完成&#xff0c;没用到什么高大上的技术&#xff0c;在图形化方面用了EasyX&#xff08;一个C的图形库&#xff09;&#xff0c;其他都是C语言的基础内容。 项目介绍 项目总体功…

jsp,图片显示

问题&#xff1a;jsp中显示项目中image文件夹中的图片 1&#xff0c;项目中image文件夹中有对应的图片 2&#xff0c;<img ,src"/项目名/image/图片名.jpg">&#xff0c;用其他变量获取这个路径也可以&#xff0c;但本质还是这个路径 3,对于jsp和HTML等文件的修…

Java基础系列——IO流

2019独角兽企业重金招聘Python工程师标准>>> ---恢复内容开始--- Java对数据的操作都是通过流的方式&#xff0c;数据的输入和输出是相对内存来说的&#xff0c;将外设的数据读到内存&#xff1a;输入流&#xff1b;将内存的数据写到外设&#xff1a;输出流。 流按…

Visual Studio Code / Roboware Studio调整字体大小,跳转等操作

调大字体:Ctrl 调小字体:Ctrl _- 跳转:F12 跳转返回:Ctrl Alt _- 打开内部终端:Ctrl ~

C4D和Redshift:2D矢量到三维渲染 Cinema 4D and Redshift: 2D vector to 3D render

C4D和Redshift:2D矢量到三维渲染 时长:1h 4m |视频:. MP4 1280720&#xff0c;30 fps(r) |音频:AAC&#xff0c;48000 Hz&#xff0c;2ch |大小解压后:633 MB 含课程文件 语言&#xff1a;英语中英文字幕(机译) 本课程涵盖了诸如将矢量转换为3d场景的主题。您将了解哪些数据可以…

《深入理解Java虚拟机》(第二版)学习2:垃圾收集算法

对象存活判断 在对堆进行回收之前虚拟机需要判断这些对象中那些是“存活”的。 引用计数算法&#xff08;Reference Counting&#xff09; 原理&#xff1a;给对象中添加一个引用计数器&#xff0c;每当有一个地方引用它时&#xff0c;计数器值就加一&#xff1b;当引用失效…

Android 知识杂记(MVP模式)

MVP的模式在于将原来activity中业务逻辑的部分剥离出来&#xff0c;代码示例如下&#xff1a; Accountpublic class Account {private String mUsername;private String mPassword;public String getmUsername() {return mUsername;}public void setmUsername(String mUsername…

玩转百度即用API(2)——身份证查询

2019独角兽企业重金招聘Python工程师标准>>> 第二个即用API&#xff0c;身份证查询 示例代码&#xff1a; #-*- coding: utf-8 -*- #version&#xff1a;0.1 #note:该即用API接口简单&#xff0c;输入身份证只能查到3个信息&#xff1a;大概地址&#xff0c;性别&am…

解决Ubuntu环境下不能QT不能输入中文

参考链接: https://blog.csdn.net/baidu_33850454/article/details/81212026?utm_mediumdistribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_sourcedistribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2…

UE5虚幻引擎5中的实时特效学习 Introduction to real time FX in Unreal Engine 5

MP4 |视频:h264&#xff0c;1280720 |音频:AAC&#xff0c;44.1 KHz&#xff0c;2 Ch 语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09; |时长:40节课(3h 36m) |大小解压后:2.65 GB 含课程文件 从零开始使用尼亚加拉在虚幻引擎中学习实时外汇…

《深入理解Java虚拟机》(第二版)学习3:垃圾收集器

垃圾收集器 如果说收集算法是内存回收的方法论&#xff0c;那么垃圾收集器就是内存回收的具体实现。 我们这里讨论的收集器主要是基于JDK 1.7 Update 14之后的 Hotspot VM 。 Serial 收集器 Serial 收集器是最基本、发展历史最悠久的收集器&#xff0c;曾经&#xff08;在 …

2016寒假训练3

题目链接 A CodeForces 362A Two Semiknights Meet 题意&#xff1a;在一个棋盘中有两个定义了特殊走法的棋子&#xff0c;同时移动他们&#xff0c;问是否会相遇&#xff08;只能在合法的位置&#xff09;。 做法&#xff1a;直接暴力dfs处理出这两个棋子到达各个位置的时间&a…

2015化妆品行业如何进行微信公众号营销

对比其他行业发展特点发现化妆品行业具有以下特点&#xff1a; 1、化妆品行业呈现节日、电商促销影响明显、口碑评价关注度高、女性网民占比高冲动消费多、整体用户年轻化等特点。 2、化妆品行业即使在各行业发展低迷期依然保持良好发展势头。 3、化妆品商家的顾客回头率高。 4…

在新建好的ROS空间里面添加功能包

第一步:创建功能包 cd catkin_ws打开src ~/catkin_ws/src新建文件夹名字 catkin_create_pkg (文件加名字) roscpp rospy std_msgs打开新建文件夹中的src ~/catkin_ws/src/(新建文件夹名字)/src输入: gedit 文件.cpp返回工作空间: 执行catkin build 编译后即可执行

Revit的Enscape基本培训(2021) Enscape Essential Training for Revit (2021)

MP4 |视频:h264&#xff0c;1280720 |音频:AAC&#xff0c;44.1 KHz&#xff0c;2 Ch 语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09; |时长:2h 53m |大小解压后:2.23 GB 含课程练习文件 如果您使用Revit&#xff0c;您可能需要学习Enscape&…

设计模式学习2:单例模式

单例模式 所谓类的单例设计模式&#xff0c;就是采取一定的方法保证在整个的软件系统中&#xff0c;对某个类只能存在一个对象实例&#xff0c;并且该类只提供一个取得其对象实例的方法(静态方法)。 比如Hibernate的SessionFactory&#xff0c;它充当数据存储源的代理&#xf…

数据库插入时,标识列插入显式值

当 IDENTITY_INSERT 设置为 OFF 时&#xff0c;不能为表 CU_GiftExchange 中的标识列插入显式值。SET IDENTITY_INSERT [dbo].[CU_GiftExchange] ONGO转载于:https://blog.51cto.com/hezun/1631849

Ubuntu终端显示文本让选择确定,OK等等

问题1:首先按下"TAB"键,会看到选中文本"确定","OK"然后按下回车键,即可!

Unity安卓游戏开发:打造7款2D 3D游戏 Unity Android Game Development : Build 7 2D 3D Games

流派:电子学习| MP4 |视频:h264&#xff0c;1280720 |音频:AAC&#xff0c;44.1 KHz 语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09; |大小:15.4 GB |时长:32h 55m Unity游戏开发与设计&#xff0c;用C# & Unity学习Unity安卓游戏开发(更…