ROS2保持了ROS1的特性--當然Node也完整維持了。差別主要發生在,ROS2比較偏物件導向,因此Node的各種方法是依照繼承而來的:
import rclpy from rclpy.node import Node class Ex_1(Node): def __init__(self): super().__init__('Ex_1') #初始化 Ex_1 node self.get_logger().info('Hello World') #印出 Hello World if __name__ == '__main__': rclpy.init() ex1 = Ex_1() ex1.destroy_node() rclpy.shutdown()
可以看到,和ROS1相比,這邊直接使用super關鍵字繼承屬性並初始化。
而雖然ROS2沒有所謂的Master,但每一個Node節點都需要rclpy.init(),這一行一定需要,請不要以任何理由去除它。
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up