ROS学习2 - 集成开发环境

2023-10-31

一、终端

  • 一个窗口可打开多个终端,实现分屏,ROS操作更整洁。
  • 安装
sudo apt install terminator
  • 快捷键
Alt+Up                          //移动到上面的终端
Alt+Down                        //移动到下面的终端
Alt+Left                        //移动到左边的终端
Alt+Right                       //移动到右边的终端
Ctrl+Shift+O                    //水平分割终端
Ctrl+Shift+E                    //垂直分割终端
Ctrl+Shift+Right                //在垂直分割的终端中将分割条向右移动
Ctrl+Shift+Left                 //在垂直分割的终端中将分割条向左移动
Ctrl+Shift+Up                   //在水平分割的终端中将分割条向上移动
Ctrl+Shift+Down                 //在水平分割的终端中将分割条向下移动
Ctrl+Shift+S                    //隐藏/显示滚动条
Ctrl+Shift+F                    //搜索
Ctrl+Shift+C                    //复制选中的内容到剪贴板
Ctrl+Shift+V                    //粘贴剪贴板的内容到此处
Ctrl+Shift+W                    //关闭当前终端
Ctrl+Shift+Q                    //退出当前窗口,当前窗口的所有终端都将被关闭
Ctrl+Shift+X                    //最大化显示当前终端
Ctrl+Shift+Z                    //最大化显示当前终端并使字体放大
Ctrl+Shift+N or Ctrl+Tab        //移动到下一个终端
Ctrl+Shift+P or Ctrl+Shift+Tab  //Crtl+Shift+Tab 移动到之前的一个终端

二、vscode安装

因为国内做的比较好的自动驾驶百度用的vscode IDE开发的。

1. 安装 vscode(2种方式)

(1)官网下载 linux - .deb - 64bit

  • 双击.deb安装包,安装即可
  • 或通过下面命令安装
sudo dpkg -i xxx.deb

(2)ubuntu software -->搜索code,并install

2. 卸载 vscode

sudo dpkg --purge code

3. 将vscode添加到右侧的收藏夹

点击屏幕右下角9个小圆点 -->顶端搜索code–>右键Add to Favorites(添加到收藏夹)

4.安装插件

点击vscode右侧的extensions–>搜索插件(c++,CMake Tools,Python,ROS
在这里插入图片描述

三、vscode使用

1.创建工作空间

mkdir -p ~/demo1_ws/src
cd ~/demo1_ws
catkin_make

2. 启动vscode

cd ~/demo1_ws

code.之间有个空格

code .

打开vscode后,在当前目录下
在这里插入图片描述

3.配置编译

快捷键 ctrl + shift + B 调用编译,选择:catkin_make:build -->点击后面的设置(小齿轮)

  • 方式一:替换.vscode/tasks.json 文件为以下内容
{
// 有关 tasks.json 格式的文档,请参见
    // https://go.microsoft.com/fwlink/?LinkId=733558
    "version": "2.0.0",
    "tasks": [
        {
            "label": "catkin_make:debug", //代表提示的描述性信息
            "type": "shell",  //可以选择shell或者process,如果是shell代码是在shell里面运行一个命令,如果是process代表作为一个进程来运行
            "command": "catkin_make",//这个是我们需要运行的命令
            "args": [],//如果需要在命令后面加一些后缀,可以写在这里,比如-DCATKIN_WHITELIST_PACKAGES=“pac1;pac2”
            "group": {"kind":"build","isDefault":true},
            "presentation": {
                "reveal": "always"//可选always或者silence,代表是否输出信息
            },
            "problemMatcher": "$msCompile"
        }
    ]
}
  • 方式二:仅修改group,其他原封不动:
 "group": {"kind":"build","isDefault":true},

配置后,按快捷键ctrl + shift + b,编译整个工作空间

5.创建功能包

vscode中,在~/demo1_ws下的src右键 -->最下方Create Catkin Package -->在上方弹出的提示框中依次输入:

  • 功能包名hello
  • 依赖rospy roscpp std_msgs

为了避免依赖打字输入错误,ctrl + shift + b编译,查看是否出错。

6 c++终端输出字符串

6. 1 创建c++源文件

(1)~/demo1_ws/src/hello下的src文件夹,右键New File -->输入文件名hello_c.cpp
(2)编写hello_c.cpp文件

  • 输入main -->如下提示,选择前面是黑框的。会自动生成main()
    在这里插入图片描述
  • 删除形参中char const *argv[]中的关键字const
    在这里插入图片描述
  • 没有自动补全,需要设置
    修改~/demo1_ws/.vscode中的c_cpp_properties.json文件
    在这里插入图片描述
    25行,将cppStandard的值改为c++17。就会有代码提示

在这里插入图片描述

6.2 配置CMakeLists.txt文件

注意:修改hello功能包下的CMakeLists.txt文件。而不是~/demo1_ws/src下面的CMakeLists.txt文件。
在这里插入图片描述
(1)修改add_executable()

  • ctrl + / 取消注释
  • add_executable(可执行文件名 src/.cpp文件名)
    可执行文件名:自己可随意命名,通常和.cpp文件去除后缀名称一致。
add_executable(hello_c src/hello_c.cpp)

(2)修改target_link_libraries()

  • 选中多行,ctrl + / 取消注释
  • 只需把可执行文件名填写到第一个参数
target_link_libraries(hello_c
  ${catkin_LIBRARIES}
)

在这里插入图片描述

(3)配置完毕,ctrl + shift + b编译,如果不报错,配置成功。

6.3 配置工作空间的环境变量

点击终端右侧的+,打开一个在~/demo1_ws目录下的bash终端
在这里插入图片描述在这里插入图片描述

  • ~/demo1_ws工作空间的环境变量写入.bashrc文件中
echo "source ~/demo1_ws/devel/setup.bash" >>~/.bashrc
  • 使修改后的.bashrc文件,生效
source ~/.bashrc
  • 检查ROS的环境变量中是否有~/demo1_ws工作空间的环境变量
echo $ROS_PACKAGE_PATH

在这里插入图片描述

6.4 执行ROS节点

(1)bash终端输入:roscore
(2)bash终端输入:rosrun hello hello_c (rosrun 功能包名 可执行文件名)

  • 如果不能自动补全,需要手敲打。

在这里插入图片描述

四、vscode的快捷键

ctrl + shift + k    //删掉选中的代码(一行、多行)
ctrl + / 	 		//添加、消除选中文本的注释(一行、多行)。不限语言!!!	
ctrl + shift + b   //编译 (写完源文件、修改完配置文件后,检查写的是否有错误)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ROS学习2 - 集成开发环境 的相关文章

随机推荐

  • Github上传项目报错:error: src refspec master does not match any

    想把自己在本地写好的项目上传到github 结果路途坎坷 记下历程 仅供参考 参考的第一个文档最后一步git push u origin master我却不成功 显示如下错误 于是参考网上的解决办法 把命令的最后的master改成main
  • MyBatis的XML映射文件(二)

    文章目录 动态SQL if choose trim foreach 缓存 一级缓存 二级缓存 第三方缓存 个人博客 动态SQL note 动态 SQL 是 MyBatis 的强大特性之一 如果你使用过 JDBC 或其它类似的框架 你应该能理
  • 张飞硬件设计与开发 学习笔记(第一部 线性稳压电源设计) 含理解,超详细!

    第一部 线性稳压电源的设计 前言 一 线性稳压电源的设计 1 课程概述 交流到直流降压简介 2 整流原理介绍 电阻选型 二极管介绍 3 电容的理解与选型 4 稳压电路的设计流程 5 元件详细选型 6 稳压管 三极管应用 成本控制方案二 总结
  • [获取数据集] 数据分析、机器学习获取开放的数据集

    获取数据集 数据分析 机器学习获取开放的数据集 不管数据分析还是机器学习 用真实的数据比用虚拟的数据得出的结果要好 以下是一些比较流行的开放数据存储库 里面有成千上万覆盖各个领域的数据 流行的开放数据存储库 UC Irvine Machin
  • @Cacheable使用spring缓存

    一 首先了解spring自带的注解 首先在启动类需要开启该功能 package com frame util import org mybatis spring annotation MapperScan import org spring
  • 标准c库打开创建文件读写文件光标移动

    fopen 函数 fopen只能配合使用fread fwrite等不能是read write 例子 include
  • GitHub怎样fork别人代码到自己仓库并进行贡献

    场景 比如说现在有一个很牛逼的项目 我们进入项目地址 想将这个项目复制到自己的github仓库 然后你还想将 仓库中的代码拉取到本地进行修改 修改完你还要将本地的 修改后的代码推送到自己的github仓库 更甚至你还想将自己 复制过来并修改
  • Python3数据挖掘之百度资讯搜索数据并入库(最新)

    因百度搜索页关键字内容改变 更新关键字增加正则表达式的编写 增加对批量内容爬取后的入库操作 另外需要注意学会修改正则里面变更后的内容 下面截图使用不同的颜色简单说明下 import requests import re import pym
  • Pytorch 学习(十):Pytorch 模型在 CPU 与 GPU 上的迁移

    Pytorch 模型在 CPU 与 GPU 上的迁移 本方法总结自 动手学深度学习 Pytorch版 github项目 Pytorch计算时必须保证模型和参与当前过程的所有数据都在同一个设备 GPU 或 CPU 上 CPU 与 GPU 的相
  • (附源码)springboot毕业生跟踪调查管理系统 毕业设计 061528

    springboot毕业生跟踪调查管理系统 摘 要 信息化社会内需要与之针对性的信息获取途径 但是途径的扩展基本上为人们所努力的方向 由于站在的角度存在偏差 人们经常能够获得不同类型信息 这也是技术最为难以攻克的课题 针对毕业生跟踪调查管理
  • 2月24日--3月2日(共18小时,剩4599小时)

    2月24日1小时 周日打游戏太困了 2月25日 共8小时 上午3小时DX11 下午2小时DX11 晚上3小时软引擎 2月26日 共3小时 上午2小时DX11 中午1小时软引擎 2月27日共3小时 2月28日 共3小时 3月1日 共3小时 3
  • CMAKE : INCLUDE命令

    指令 include 作用 从文件或模块加载并运行CMake代码 形式 include
  • 第一章:Linux(Ubuntu)环境下OpenCV的安装配置和实例,亲测可用

    目录 1 安装环境 1 1 安装C 开发环境 安装编译器GCC和G 1 2 安装build essential 1 3 安装cmake 1 4 安装依赖库 1 5 安装OpenCV 下载OpenCV连接OpenCV 1 6 配置环境变量 1
  • Spring2.0中新的Bean类型实现原理

    我们知道 在Spring2 0中 除了singleton及prototype两种类型的Bean以外 默认情况下还增加了request session及global session三种类型的Bean 增加的三种类型的Bean主要应用于Web应
  • wordpress实现全站生成html静态缓存文件-wp全站静态化

    如何让wordpress网站访问速度变的飞快 怎样做好wordpress网站的安全防护 答案是一个方法即可解决 那就是实现全站html静态化 网上有很多实现wordpress缓存的插件 很多都不尽人意 要么是收费的 要么是英文版的 或者根本
  • FFmpeg学习笔记--FFplay简单过滤器、FFmpeg命令参数

    目录 1 FFplay简单过滤器 2 FFmpeg命令参数 2 1 主要参数 2 1 1 i设定输入流 2 1 2 f设定输出格式 2 1 3 ss设定开始时间 2 1 4 t设定时间长度 2 1 5 代码实例 2 2 音频参数 2 2 1
  • ROS工作空间workspace的创建以及launch文件的编写

    workspace工作空间以及launch文件的编写 建立工作空间 建立 工作空间目录 回到主目录 cd 在主目录创建一个名字为my ws的文件夹 并且在my ws 文件夹里面建立一个名为src的文件夹 p的作是建立子目录 mkdir p
  • 腾讯技术创作特训营二期开班,用写作开启职业新爆点(内含福利)

    技术人的人生 大多都是持续不断地在与代码 bug 的斗争中度过 996爆肝 35岁危机 职业发展瓶颈 数不清的压力正在席卷着技术人 按部就班地工作 似乎成了一道枷锁 锁死了很多技术人员的创造力 也锁死了未来的职业方向 你有没有想过 是否能通
  • 资产管理系统 CMDB 详解

    两年前笔者在一个中小型互联网公司做运维 当时我们经理在机房 花了半天找一台服务器 但是服务器搞错了 悲剧了 当时我们的做法是用了一个 Excel 很多时候更新不及时 重启一台机器 拔一根网线都提心吊胆 那个时候如果有一个资产管理系统的话就可
  • ROS学习2 - 集成开发环境

    集成开发环境 一 终端 二 vscode安装 1 安装 vscode 2种方式 2 卸载 vscode 3 将vscode添加到右侧的收藏夹 4 安装插件 三 vscode使用 1 创建工作空间 2 启动vscode 3 配置编译 5 创建