ROS2 python 编译
创建包
ros2 pkg create village_li --build-type ament_python --dependencies rclpy
ros2 pkg create 功能包名 编译方式 --build-type (ament_python ament_cmake)--dependencies 依赖包
village_li 文件夹下构建一个li4.py
编写python代码
import rclpy
from rclpy.node import Node
def main(args=None):
rclpy.init(args=args)
li3_node = Node("li4")
li3_node.get_logger().info('大家好,我是李四')
rclpy.spin(li3_node)
rclpy.shutdown()
colcon build
编译
配置setup.py
entry_points={
'console_scripts': [
'li4_node=village_li.li4:main'
],
},
ros run 功能包名 节点名(这个节点名就是setup.py里的entry_points console_scripts参数中的li4_node)
village_li.li4:main
village_li 这里相当于是python中的包的from ... import..
具体来将当使用命令ros2 run village_li li4_node
li4_node 来自于li4_node=village_li.li4:main 中的li4_node
如果这句改成了li4_node=village_li.li4:main
那么就该运行ros2 run village_li li2_node 了
同理如果将li4.py中的main 改为hello
那么'li4_node=village_li.li4:main'该改为'li4_node=village_li.li4:hello'了
ros2 pkg createvillage_wang--build-type ament_cmake --dependencies rclcpp
add_executable(wang2_node src/wang2.cpp)
ament_target_dependencies(wang2_node rclcpp)