第3章 ROS基础编程(1.编程工具的配置与使用)

✅博客主页:爆打维c-CSDN博客​​​​​​ 🐾

🔹分享自己学习AI/编程知识的过程 🐾

🔹我的GitHub代码仓库 https://github.com/lyy-0118

该文章是对手把手教你学ROS(万字详解)这篇博客的续写,将补全之前没讲到的知识,想系统了解ROS知识的可以去看我的ROS学习专栏,持续更新中~~~

gogogo 出发喽~


目录

[第3章 ROS基础编程](#第3章 ROS基础编程)

[3.1 编程工具的配置与使用](#3.1 编程工具的配置与使用)

[3.1.1 使用rosed编辑ROS代码](#3.1.1 使用rosed编辑ROS代码)

[1. 理解rosed](#1. 理解rosed)

[2. 配置rosed](#2. 配置rosed)

3.1.2使用VScode编译ROS代码

1.安装VScode

[2. VScode 集成ROS插件](#2. VScode 集成ROS插件)

[3. vscode的使用&基本配置](#3. vscode的使用&基本配置)

1) 创建ROS工作空间 创建ROS工作空间)

2) 启动vscode 启动vscode)

3) vscode 中编译 ros vscode 中编译 ros)

[3.1.3 创建ROS功能包](#3.1.3 创建ROS功能包)

[3.1.4 python代码的编写与执行](#3.1.4 python代码的编写与执行)

[1 python代码的编写](#1 python代码的编写)

[2 配置CMakeLists.txt](#2 配置CMakeLists.txt)

[3.1.5 C++代码的编译与执行](#3.1.5 C++代码的编译与执行)

[1 C++代码的实现](#1 C++代码的实现)

[2 配置CMakeLists.txt](#2 配置CMakeLists.txt)

[3 编译执行](#3 编译执行)


第3章 ROS基础编程

上机实践网站:ROS 机器人操作系统初级教程

rosdep是用于管理ROS package依赖项的命令行工具,用法如下:

|----------------------------|-----------------------|
| rosdep命令 | 作用 |
| rosdep check [pacakge] | 检查package的依赖是否满足 |
| rosdep install [pacakge] | 安装pacakge的依赖 |
| rosdep db | 生成和显示依赖数据库 |
| rosdep init | 初始化/etc/ros/rosdep中的源 |
| rosdep keys | 检查package的依赖是否满足 |
| rosdep update | 更新本地的rosdep数据库 |

3 .1 编程工具的配置与使用

3 .1.1 使用rosed编辑ROS代码

1. 理解 rosed

rosed是rosbash的一部分。利用它可以直接通过package名来获取到待编辑的文件而无需指定该文件的存储路径了。

使用方法:

  • rosed [package_name] [filename]

例子

  • rosed roscpp Logger.msg

这个实例展示了如何编辑roscpp package里的Logger.msg文件。

如果该实例没有运行成功,那么很有可能是你没有安装vim编辑器。请参考编辑器部分进行设置。

如果文件名在package里不是唯一的,那么会呈现出一个列表,让你选择编辑哪一个文件。

2. 配置 rosed

rosed默认的编辑器是vim。如果想要将其他的编辑器设置成默认的,你需要修改你的 ~/.zshrc 文件,增加如下语句:

  • export EDITOR=' gedit '

这将gedit设置成为默认编辑器。

注意: .zshrc文件的改变,只会在新的终端才有效。已经打开的终端不受环境变量的影响。

打开一个新的终端,看看那是否定义了EDITOR:

  • echo EDITOR

gedit

3 .1.2 使用VScode编译ROS代码

VSCode 全称 Visual Studio Code,是微软出的一款轻量级代码编辑器,免费、开源而且功能强大。它支持几乎所有主流的程序语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比Diff、GIT等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。软件跨平台支持Win、Mac以及Linux。

vscode 下载:https://code.visualstudio.com/docs?start=true

历史版本下载链接:https://code.visualstudio.com/updates

1. 安装VSc ode

Visual Studio Code 在官方的微软 Apt 源仓库中可用。想要安装它,按照下面的步骤来:

1)以 sudo 用户身份运行下面的命令,更新软件包索引,并且安装依赖软件:

sudo apt update

sudo apt install software-properties-common apt-transport-https wgt

2)使用 wget 命令插入 Microsoft GPG key :

wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add -

启用 Visual Studio Code 源仓库,输入:

sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"

3)一旦 apt 软件源被启用,安装 Visual Studio Code 软件包:

sudo apt install code

当一个新版本被发布时,你可以通过你的桌面标准软件工具,或者在你的终端运行命令,来升级 Visual Studio Code 软件包:

sudo apt update

sudo apt upgrade

2. VS code 集成ROS插件

使用VScode开发ROS程序,需要先安装一些插件。

3. vscode 使用&基本配置
1 ) 创建ROS工作空间
  • mkdir -p xxx_ws/src (必须得有 src)
  • cd xxx_ws
  • catkin_make
2 ) 启动vscode

进入 xxx_ws 启动 vscode

  • cd xxx_ws
  • code .
3 ) vscode 中编译 ros

快捷键 ctrl + shift + B 调用编译,选择:catkin_make:build

可以点击配置设置为默认,修改****.vscode/tasks.json文件****

cpp 复制代码
{

// 有关 tasks.json 格式的文档,请参见

    // https://go.microsoft.com/fwlink/?LinkId=733558

    "version": "2.0.0",

    "tasks": [

        {

            "label": "catkin_make:debug",   //代表提示的描述性信息

            "type": "shell",    //可以选择shell或者process,如果是shell代码是在shell里面运行一个命令

            "command": "catkin_make",   //这个是我们需要运行的命令

            "args": [],   //如果需要在命令后面加一些后缀,可以写在这里

            "group": {"kind":"build","isDefault":true},

            "presentation": {

                "reveal": "always"    //可选always或者silence,代表是否输出信息

            },

            "problemMatcher": "$msCompile"

        }

    ]

}

3.1.3 创建ROS功能包

选定 src 右击 ---> create catkin package

设置包名 添加依赖

3 .1.4 py thon 代码的编写与执行

1 python 代码的编写
  • 功能包下新建scripts文件夹,添加python文件
python 复制代码
#!/usr/bin/env python

#coding=utf-8

import rospy # 1.导包



if __name__ == "__main__":



    rospy.init_node("Hello_Vscode_p")  # 2.初始化 ROS 节点

    rospy.loginfo("Hello VScode, 我是 Python ....")  #3.日志输出 HelloWorld
  • 添加可执行权限,在VS中,选中scripts目录,右键"在集成终端中打开"

chmod +x *.py

ll #查看权限

2 配置CMakeLists.txt

Python 配置:

python 复制代码
catkin_install_python(PROGRAMS scripts/自定义文件名.py 

  DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}

)

注意:当不配置CMakeList.txt时,执行python文件抛出异常:找不到python!

编译: ctrl + shift + B

执行:在VScode中添加两个终端:

  • roscore
  • source ./devel/setup.bashs
  • rosrun 包名 节点名.py

3 .1.5 C++ 代码的编译与执行

1 C++代码的实现

功能包的 src下新建 cpp 文件

cpp 复制代码
#include "ros/ros.h"



int main(int argc, char *argv[])

{

    setlocale(LC_ALL,"");

    //执行节点初始化

    ros::init(argc,argv,"HelloVSCode");



    //输出日志

    ROS_INFO("Hello VSCode!!!哈哈哈哈哈哈哈哈哈哈");

    return 0;

}
  • PS1: 如果没有代码提示

修改 .vscode/c_cpp_properties.json

设置 "cppStandard": "c++14 "

  • PS2: main 函数的参数不可以被 const 修饰
  • PS3: 当ROS__INFO 终端输出有中文时,会出现乱码

INFO: ????????????????????????

解决办法:在函数开头加入下面代码的任意一句

setlocale(LC_CTYPE, "zh_CN.utf8");

setlocale(LC_ALL, "");

2 配置CMakeLists.txt

将Make文件关联到Make工具:

C++ 配置:

add_executable(节点名称 src/C++源文件名.cpp )

target_link_libraries(节点名称 ${catkin_LIBRARIES} )

3 编译执行

编译: ctrl + shift + B

执行:在VScode中添加两个终端:

  • roscore
  • source ./devel/setup.bash
  • rosrun 包名 节点名

3.1完~~~

大家一定要边看边动手,知识很简单但是得实践起来,不然真的很容易忘记!!

如果这篇文章对你有帮助的话,请给博主一个免费的赞鼓励一下吧~ 💓

相关推荐
sheji1054 小时前
泳池机器人行业市场分析报告
人工智能·机器人·智能硬件
sheji1058 小时前
割草机器人实物拆解报告
人工智能·机器人·智能硬件
一RTOS一8 小时前
“鸿道+AUTBUS+MaVIEW”国产化机器人电子架构方案推动产业自主可控
机器人·鸿道操作系统·鸿道实时操作系统·国产嵌入式操作系统选型·具身智能操作系统
sheji1058 小时前
泳池机器人产品设计方案
人工智能·机器人·智能硬件
YJlio8 小时前
10.2.8 以其他账户运行服务(Running services in alternate accounts):为什么“把服务切到某个用户账号下运行”,本质上是在改变服务的整个安全上下文?
python·安全·ios·机器人·django·iphone·7-zip
xiaoduo AI9 小时前
智能客服机器人能否实现多 LLM 自由切换?Agent 开放平台接入 DeepSeek、通义千问如何对比成本与效果?
大数据·人工智能·机器人
AI进化营-智能译站11 小时前
ROS2 C++开发系列04:如何有效输出机器人状态
开发语言·c++·ai·机器人
AI进化营-智能译站11 小时前
ROS2 C++开发系列05:机器人启动如何传递命令行参数实战
开发语言·c++·ai·机器人
平原君20881 天前
利用LLM控制机器人的原理
机器人