ros launch文件笔记

这篇博客详细解读了如何在ROS(Robot Operating System)中使用launch文件,通过`<launch>`标签定义了两个节点:一个是`turtlesim`类型的`myTurtle`,用于图形显示,另一个是`turtle_teleop_key`类型的`myTurtleContro`,控制turtle的动作。它展示了节点包名、类型和命名的使用方法。

launch文件标签

<launch>
    <node pkg="turtlesim" type="turtlesim_node"     name="myTurtle" output="screen" />
    <node pkg="turtlesim" type="turtle_teleop_key"  name="myTurtleContro" output="screen" />
</launch>

1.pkg:   功能包名;

2.type:节点类型(c的可执行文件/py文件)

3.name:节点名字(在 ROS 网络拓扑中节点的名称,是ros::init初始化那个名)

ROS2学习笔记包含以下内容: ### RCL(ROS Client Library) RCL是ROS客户端库,是ROS的一种API,提供了对ROS话题、服务、参数、Action等接口。不同的语言对应着不同的rcl,但基本功能相同。例如Python语言提供了rclpy来操作ROS2的节点话题服务等,C++则使用rclcpp提供API操作ROS2的节点话题和服务等。ROS2 API的实现层级中,最下面是第三方的DDS,rmw(中间件接口)层是对各家DDS的抽象层,基于rmw实现了rclc,基于rclc,ROS2官方实现了rclpy和rclcpp [^5]。 ### GUI和CLI - **GUI(Graphical User Interface)**:图形用户界面,如Windows系统,可通过鼠标点击按钮等图形化交互完成任务。 - **CLI(Command - Line Interface)**:命令行界面,如终端的黑框框,没有图形化 [^5]。 ### API(Application Programming Interface) 应用程序编程接口。比如写了一个库,里面有很多函数,使用者不知函数内部实现,需看文档或注释了解函数入口参数、返回值及用途。在C和C++中表现为头文件,在Python中表现为Python文件 [^5]。 ### 命令行操作 - `ros2 pkg --h`:获取pkg的帮助命令。 - `ros2 pkg executables 包名`:输出所有功能包下的可执行程序。 - `ros2 pkg list`:列出所有功能包。 - `ros2 pkg prefix 包名`:列出功能包路径。 - `ros2 pkg xml`:输出功能包的package.xml内容 [^2]。 ### 创建节点模板(Python) ```python import rclpy from rclpy.node import Node class Mynode(Node): def __init__(self): super().__init__("hello_node_py") self.get_logger().info("hello world!(py继承)") def main(): rclpy.init() node = Mynode() rclpy.shutdown() if __name__ == '__main__': main() ``` ### 示例代码 以下是一个创建HelloWorld节点的Python代码,初始化时输出“hello world”日志: ```python #!/usr/bin/env python3 # -*- coding: utf-8 -*- import rclpy from rclpy.node import Node import time class HelloWorldNode(Node): def __init__(self, name): super().__init__(name) while rclpy.ok(): self.get_logger().info("Hello World") time.sleep(0.5) def main(args=None): rclpy.init(args=args) node = HelloWorldNode("node_helloworld_class") rclpy.spin(node) node.destroy_node() rclpy.shutdown() ``` ### 编译运行 ```bash cd ~/ros2_ws colcon build --packages-up-to topic_pkg ros2 launch topic_pkg pub_sub.launch.xml ``` ### 小乌龟教程相关 之前的配置ros2环境课程(https://docs.ros.org/en/foxy/Tutorials/Configuring - ROS2 - Environment.html)可教你如何配置环境,后续可安装小乌龟包turtlesim [^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值