ROS学习————学会修改package包代码&将工作空间导入vscode

ROS

ROS学习————学会修改package包代码&将工作空间导入vscode

如何修改package包源码

在ROS学习中,ROS的绝大部分包的源码都是开源的,我们可以将某个包下载到自己的工作空间后,对其进行修改,来达成我们想要的效果

  1. 进入终端输入roscore启动ROS节点

    在这里插入图片描述

  2. 新建一个终端,输入 rosrun turtlesim turtlesim_node

    在这里插入图片描述

    如果运行成功则出现以下界面
    在这里插入图片描述

    • 请在输入前确保是否已经下载该节点,可以通过指令rospack find 包名检查工作空间内是否存在该package,如存在则会显示文件路径,如不存在可以查看“ROS学习第一步———创建工作空间&下载package包”里下载包的详细过程进行下载(需要采用git clone方式下载)
      • 注意,git clone 和 sudo apt install 两种下载包的方式存在区别

        1. 安装内容
        • git clone
          仅下载项目的源代码到本地,不会自动安装。
          需要用户手动编译和安装(如使用make 或 catkin_make 等工具)。

        • sudo apt install
          自动安装预编译的软件包及其所有依赖。
          配置和安装过程由 APT 自动完成,用户无需额外操作。

        1. 使用场景
        • git clone
          用于获取项目的最新代码(如开发分支)。
          适合开发者需要修改、调试或查看源码。
          适用于官方仓库没有提供的包或功能。

        • sudo apt install
          用于安装已经打包好的软件,快速、简单。
          适合普通用户或需要稳定版本的场景。
          适用于大多数用户无需源码的日常需求。

在这里插入图片描述
图片左上角可以查看该包是否含有对应版本,关于版本可以查看“ROS学习第一步———创建工作空间&下载package包”中的介绍,可以通过git clone -b <版本> <链接网址>进行下载

  • git clone 完成后可以通过路径在catkin_ws下的终端catkin_make进行编译
  1. 在工作空间内找到该package包,找到需要修改的源码(当前路径的turtlesim_frame.cpp文件)
    在这里插入图片描述
  2. 自行修改以实现自己想要的效果
    • 该文件下第47行和第53行的第一个参数代表宽,第二个参数代表长,可自行修改(我将宽改成了1000)
    • 该文件下第54行的名称为标题名称
    • 该代码64行至66行修改方式详情可见apt中turtlesim包详情页中提供的参数
    • 保存后退出该界面

在这里插入图片描述

  1. 进入终端转移到~/catkin_ws目录下输入catkin_make重新编译
  2. 编译成功后输入roscore启动ros节点
  3. 新建一个终端输入rosrun turtlesim turtlesim_node重新启动乌龟节点
    可以看到,此时的 “乌龟” 已经不同于未修改时的状态,此时的界面由修改后的代码决定

    在这里插入图片描述

将工作空间导入vscode

  1. 打开vscode,点击左上角文件,选择“将文件夹添加到工作区”
    在这里插入图片描述
    选择~/catkin_ws/src文件夹作为工作区文件夹
  2. 设置编译工作空间快捷键
    • 按下ctrl + shift + B,选择catkin_make:build选项,vscode底部自动弹出终端编译工作空间
    • 再次按下ctrl + shift + B,点击右侧齿轮图标

    在这里插入图片描述

    • 对tasks.json文件进行修改
      将第13代码修改为"group": {"kind": "build","isDefault": true},表示此选项为编译快捷键的默认操作

      在这里插入图片描述

    • 保存并重新输入ctrl + shift + B,如果直接编译不需要选择即设置成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值