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 Node
def main(args=None):
"""
ros2运行该节点的入口函数
编写ROS2节点的一般步骤
1. 导入库文件
2. 初始化客户端库
3. 新建节点对象
4. spin循环节点
5. 关闭客户端库
"""
rclpy.init(args=args) # 初始化rclpy
node = 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
标签:node,rclpy,--,python,zhang3,OOP,节点 From: https://www.cnblogs.com/lei-bao/p/18159830