Ros2 操作指令记录

目录

[1. 创建功能包](#1. 创建功能包)

[2. 列出可执行文件](#2. 列出可执行文件)

3.列出所有的包

[4. 输出某个包所在路径的前缀](#4. 输出某个包所在路径的前缀)

[5. 通过更改src下的部分文件来改变install,修改 python 脚本时不必重新build](#5. 通过更改src下的部分文件来改变install,修改 python 脚本时不必重新build)

[7. 返回话题列表 和 接口类型](#7. 返回话题列表 和 接口类型)

[8. 打开小海龟](#8. 打开小海龟)


Topic_ws工作空间下进行colcon build编译,产生build、install、log3个文件夹

1. 创建功能包

复制代码
ros2 pkg create <package-name> --build-type {cmake,ament_cmake,ament_python} --dependencies <依赖名字>

2. 列出可执行文件

复制代码
ros2 pkg executables
# 列出turtlesim功能包的所有可执行文件
ros2 pkg executables turtlesim

3.列出所有的包

复制代码
ros2 pkg list

4. 输出某个包所在路径的前缀

复制代码
ros2 pkg prefix  <package-name>

ros2 pkg prefix turtlesim

5. 通过更改src下的部分文件来改变install,修改 python 脚本时不必重新build

复制代码
colcon build --symlink-install

6. 创建CPP功能包

cpp 复制代码
1.创建软件包
ros2 pkg create example_cpp --build-type ament_cmake --dependencies rclcpp
--pkg create 是创建包的意思
--build-type 用来指定该包的编译类型,一共有三个可选项ament_python、ament_cmake、cmake
--dependencies 指的是这个功能包的依赖,这里小鱼给了一个ros2的C++客户端接口rclcpp
2.修改cmakelist
add_executable(node_01 src/node_01.cpp)
ament_target_dependencies(node_01 rclcpp)
install(TARGETS
  node_01
  DESTINATION lib/${PROJECT_NAME}
)

7. 返回话题列表 和 接口类型

复制代码
 ros2 topic list -t

8. 打开小海龟

复制代码
ros2 run turtlesim turtlesim_node

9. 查看节点和话题

复制代码
ros2 topic list
ros2 node list
ros2 node echo 节点名称,查看话题接口
ros2 topic encho 话题接口

10. 查看话题的具体数据结构

复制代码
ros2 interface show <topic_name>
相关推荐
如夏倾城8 分钟前
百度文心(容易被忽略的好用AI)使用方式
人工智能·python·百度·语言模型·dubbo
用户019027581619 分钟前
quotes 实时价和 klines 最新收盘价为什么对不上?
python
码客-ygluu23 分钟前
一个通用游戏数据服务器
c++·架构
another heaven29 分钟前
【C/C++ Ranges 是零开销抽象吗?拆开管道、惰性求值和编译期膨胀】
c语言·开发语言·c++
少司府1 小时前
嵌入式入门篇(二):初识STM32F103ZET6
linux·python·stm32·单片机·嵌入式硬件·mcu·嵌入式软件
wangxiaoxuan2171 小时前
SLAM 的基本结构:前端、后端、回环与地图优化
前端·机器人·科沃斯八界
打工仔折腾 AI2 小时前
Changedetection.io 网页变动监控:Docker 部署、通知配置与公网暴露实践
运维·人工智能·后端·python·docker·容器·性能优化
火云代理2 小时前
Python 使用代理 IP 前,先弄清 Requests 的配置来源与验证方法
网络·python·网络协议·tcp/ip·ip
YLCHUP3 小时前
【思维&图论建模】题解:债权(debt)_图论_建模_思路转化_思维题目_C++算法竞赛
c++·笔记·算法·数学建模·贪心算法·深度优先·图论
xiaoye-duck3 小时前
《C++ 项目:手写大模型接入 SDK》会话模块整合:内存 SessionManager 与 DataManager 持久化联动
开发语言·数据库·c++·语言模型