1.创建工作空间
mkdir -p town_ws/src
cd town_ws/src
2.创建功能包
ros2 pkg create village_li --build-type ament_python --dependencies rclpy
- pkg create 是创建包的意思
- --build-type 用来指定该包的编译类型,一共有三个可选项
ament_python
、ament_cmake
、cmake
- --dependencies 指的是这个功能包的依赖,这里小鱼给了一个ros2的python客户端接口
rclpy
目录结构如下:
3.创建节点文件
在__init__.py
同级别目录下创建.py
文件
touch zhang3.py
4.编写程序
打开zhang3.py文件
import rclpy
from rclpy.node import Nodedef main(args=None):"""ros2运行该节点的入口函数编写ROS2节点的一般步骤1. 导入库文件2. 初始化客户端库3. 新建节点对象4. spin循环节点5. 关闭客户端库"""rclpy.init(args=args) # 初始化rclpynode = Node("li4") # 新建一个节点node.get_logger().info("大家好,我是作家li4.")rclpy.spin(node) # 保持节点运行,检测是否收到退出指令(Ctrl+C)rclpy.shutdown() # 关闭rclpy
接着修改setup.py
增加一句话,告诉ros2村庄来了一位新村民张三,要找这位村民去village_zhang.zhang3:main
路径下寻找。
entry_points={'console_scripts': ["zhang3_node = village_zhang.zhang3:main"],},
)
5.编译运行
编译节点
colcon build
source环境
source install/setup.bash
运行节点
ros2 run village_zhang zhang3_node