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