跳转至

自定义创建ros节点

1. 创建新的工程目录

mkdir -p ~/dev_ws/src
cd ~/dev_ws/src

3. 节点实现

1. 创建package

在src目录下执行如下命令创建package

ros2 pkg create --build-type ament_python first_pkg

可以修改package.xml文件如下信息

<description>C++ client server tutorial</description>
<maintainer email="you@email.com">Your Name</maintainer>
<license>Apache License 2.0</license>

2. 编写代码

first_package目录的first_package下创建first_node.cpp文件,代码如下

import rclpy
from rclpy.node import Node

class MyNode(Node):
    def __init__(self):
        super(MyNode, self).__init__('first_node')
        self.get_logger().info('first node')

def main():
    rclpy.init()
    node = MyNode()
    node.destroy_node()
    rclpy.shutdown()
if __name__ == '__main__':
    main()

3. 配置工程

setup.py文件中做如下修改:

'console_scripts': [
    'first_node = first_pkg.first_node:main',
],

first_node是节点名

可以在package.xml文件中配置依赖

<depend>rclpy</depend>

3. 构建工程

在工程目录下执行如下命令

colcon build

4. 运行package

  1. source the setup file
source install/setup.bash
  1. 运行package
ros2 run package名称 节点名称