1. 创建新的工程目录

  1. mkdir -p ~/dev_ws/src
  2. cd ~/dev_ws/src

2. 节点实现

1. 创建package

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

  1. ros2 pkg create --build-type ament_python first_pkg

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

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

2. 编写代码

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

  1. import rclpy
  2. from rclpy.node import Node
  3. class MyNode(Node):
  4. def __init__(self):
  5. super(MyNode, self).__init__('first_node')
  6. while rclpy.ok():
  7. node.get_logger().info('hello')
  8. def main():
  9. rclpy.init()
  10. node = MyNode()
  11. try:
  12. rclpy.spin(node)
  13. node.destroy_node()
  14. rclpy.shutdown()
  15. except:
  16. pass
  17. if __name__ == '__main__':
  18. main()

3. 配置工程

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

  1. 'console_scripts': [
  2. 'first_node = first_pkg.first_node:main',
  3. ],

first_node是节点名
可以在package.xml文件中配置依赖

  1. <depend>rclpy</depend>

3. 构建工程

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

  1. colcon build

4. 运行package

  1. source the setup file

    1. source install/setup.bash
  2. 运行package

    1. ros2 run package名称 节点名称