๐Ÿ’B.1 Lifecycle Nodes and Bound

ROS 1 แ€™แ€พแ€ฌแ€แ€ฏแ€”แ€บแ€ธแ€€ node แ€แ€ฝแ€ฑแ€แ€ฑแ€ฌแ€ทแ€›แ€ฑแ€ธแ€แ€ฒแ€ทแ€แ€ฌแ€•แ€ฒแ‹ แ€’แ€ซแ€•แ€ฑแ€™แ€ฒแ€ท node แ€แ€ฝแ€ฑแ€†แ€ญแ€ฏแ€แ€ฌแ€€ แ€žแ€ฐแ€ทแ€Ÿแ€ฌแ€žแ€ฐ publish/ subscribe แ€œแ€ฏแ€•แ€บแ€”แ€ฑแ€แ€ฌแ€–แ€ผแ€…แ€บแ€•แ€ผแ€ฎแ€ธ runtime แ€™แ€พแ€ฌ แ€€แ€ปแ€แ€ฑแ€ฌแ€บแ€แ€ญแ€ฏแ€ท แ€กแ€•แ€ผแ€Šแ€บแ€ทแ€กแ€ แ€‘แ€ญแ€”แ€บแ€ธแ€แ€ปแ€ฏแ€•แ€บแ€œแ€ญแ€ฏแ€ทแ€™แ€›แ€•แ€ซแ€˜แ€ฐแ€ธแ‹

แ€’แ€ซแ€€ แ€•แ€ฏแ€ถแ€™แ€พแ€”แ€บ Node แ€•แ€ฑแ€ซแ€ทแ‹

แ€’แ€ซแ€€แ€ผแ€ฑแ€ฌแ€„แ€บแ€ท node แ€แ€ฝแ€ฑแ€€แ€ญแ€ฏ แ€‘แ€ญแ€”แ€บแ€ธแ€แ€ปแ€ฏแ€•แ€บแ€œแ€ญแ€ฏแ€แ€ฒแ€ทแ€กแ€แ€ซ managed nodes แ€กแ€–แ€ผแ€…แ€บ lifecycle Node แ€แ€ฝแ€ฑแ€€แ€ญแ€ฏ แ€กแ€žแ€ฏแ€ถแ€ธแ€•แ€ผแ€ฏแ€แ€ฌแ€–แ€ผแ€…แ€บแ€•แ€ซแ€แ€šแ€บแ‹

lifecycle node

แ€’แ€ฎแ€™แ€พแ€ฌแ€†แ€ญแ€ฏแ€›แ€„แ€บ แ€€แ€ปแ€แ€ฑแ€ฌแ€บแ€แ€ญแ€ฏแ€ทแ€€ talker node แ€€แ€ญแ€ฏ runtime แ€™แ€พแ€ฌ แ€‘แ€ญแ€”แ€บแ€ธแ€แ€ปแ€ฏแ€•แ€บแ€œแ€ญแ€ฏแ€ทแ€›แ€แ€šแ€บแ€—แ€ปแ‹

  • talker node แ€žแ€Šแ€บ lifecycle node แ€€แ€”แ€ฑ inheriting แ€–แ€ผแ€…แ€บแ€œแ€ฌแ€แ€ฌแ€–แ€ผแ€…แ€บแ€•แ€ซแ€แ€šแ€บแ‹ แ€žแ€ฐแ€ทแ€€แ€ญแ€ฏ service แ€แ€แ€ปแ€ญแ€ฏแ€ทแ€”แ€ฒแ€ท control แ€œแ€ฏแ€•แ€บแ€œแ€ญแ€ฏแ€ทแ€›แ€แ€šแ€บแ‹ แ€กแ€ฒแ€ทแ€แ€ฌแ€€แ€ญแ€ฏ state แ€œแ€ญแ€ฏแ€ทแ€แ€ฑแ€ซแ€บแ€•แ€ซแ€แ€šแ€บแ‹ แ€กแ€ฒแ€ทแ€’แ€ฎ state แ€แ€…แ€บแ€แ€ฏแ€†แ€ฎแ€™แ€พแ€ฌ แ€กแ€œแ€ฏแ€•แ€บแ€œแ€ฏแ€•แ€บแ€”แ€ญแ€ฏแ€„แ€บแ€แ€ฒแ€ท service callback แ€แ€…แ€บแ€แ€ฏแ€†แ€ฎแ€›แ€พแ€ญแ€•แ€ซแ€แ€šแ€บแ‹ แ€†แ€ญแ€ฏแ€•แ€ซแ€…แ€ญแ€ฏแ€ท node แ€€ run แ€”แ€ฑแ€แ€šแ€บแ‹ แ€žแ€ฐแ€ทแ€€แ€ญแ€ฏ configure แ€œแ€ฏแ€•แ€บแ€แ€ปแ€„แ€บแ€›แ€„แ€บ node แ€€แ€ญแ€ฏ configuration state แ€€แ€ญแ€ฏ แ€กแ€œแ€ฏแ€•แ€บแ€œแ€ฏแ€•แ€บแ€แ€ญแ€ฏแ€„แ€บแ€ธแ€–แ€ญแ€ฏแ€ทแ€œแ€ญแ€ฏแ€แ€šแ€บแ‹ on_configure() แ€†แ€ญแ€ฏแ€แ€ฒแ€ท callback method แ€€แ€ญแ€ฏ execute แ€œแ€ฏแ€•แ€บแ€แ€ญแ€ฏแ€„แ€บแ€ธแ€แ€ฌแ€•แ€ซแ€•แ€ฒแ‹ แ€กแ€ฒแ€ทแ€œแ€ญแ€ฏแ€แ€ญแ€ฏแ€„แ€บแ€ธแ€–แ€ญแ€ฏแ€ท แ€€แ€ปแ€แ€ฑแ€ฌแ€บแ€แ€ญแ€ฏแ€ทแ€€ service client แ€แ€ฑแ€ฌแ€ท แ€œแ€ฏแ€•แ€บแ€•แ€ฑแ€ธแ€›แ€™แ€พแ€ฌแ€•แ€ฑแ€ซแ€ทแ‹

  • linstener node แ€€แ€แ€ฑแ€ฌแ€ทแ€•แ€ฏแ€ถแ€™แ€พแ€”แ€บ node แ€•แ€ซแ€•แ€ฒแ‹ rclcpp::Node แ€€แ€”แ€ฑแ€•แ€ฒ inherit แ€–แ€ผแ€…แ€บแ€แ€ฌแ‹ แ€žแ€ญแ€ฏแ€ทแ€•แ€ฑแ€™แ€ฒแ€ทแ€žแ€ฐแ€ทแ€™แ€พแ€ฌ subscription แ€แ€…แ€บแ€แ€ฏ แ€›แ€พแ€ญแ€”แ€ฑแ€žแ€ฑแ€ธแ€แ€šแ€บแ‹ แ€žแ€ฐแ€€ lifecycle talker node แ€›แ€ฒแ€ท internal state แ€€แ€ญแ€ฏ แ€›แ€šแ€ฐแ€”แ€ญแ€ฏแ€„แ€บแ€แ€šแ€บแ‹

  • service clien node แ€žแ€ฐแ€€แ€แ€ฑแ€ฌแ€ท service clients แ€”แ€พแ€…แ€บแ€แ€ฏแ€•แ€ซแ€แ€šแ€บแ‹ แ€แ€แ€ฏแ€€ lifecycle talker แ€›แ€ฒแ€ท state แ€€แ€ญแ€ฏ แ€•แ€ผแ€ฑแ€ฌแ€„แ€บแ€ธแ€œแ€ฒแ€–แ€ญแ€ฏแ€ท แ€–แ€ผแ€…แ€บแ€•แ€ผแ€ฎแ€ธ แ€แ€…แ€บแ€แ€ฏแ€€แ€แ€ฑแ€ฌแ€ท lifecycle talker แ€›แ€ฒแ€ท current state แ€€แ€ญแ€ฏแ€žแ€ญแ€–แ€ญแ€ฏแ€ทแ€•แ€ซแ€•แ€ฒแ‹ lifecycle talker แ€™แ€พแ€ฌแ€€ service server แ€•แ€ซแ€›แ€พแ€ญแ€•แ€ผแ€ฎแ€ธแ€žแ€ฌแ€ธแ€–แ€ผแ€…แ€บแ€•แ€ซแ€แ€šแ€บแ‹

  • แ€กแ€ฑแ€ฌแ€€แ€บแ€€ callee_script แ€€แ€แ€ฑแ€ฌแ€ท แ€žแ€ฌแ€™แ€ฌแ€”แ€บ C++ function แ€แ€…แ€บแ€แ€ฏแ€•แ€ซแ‹ service client node แ€€แ€ญแ€ฏ run แ€•แ€ผแ€ฎแ€ธ publisher node แ€€แ€ญแ€ฏ แ€‘แ€ญแ€”แ€บแ€ธแ€แ€ปแ€ฏแ€•แ€บแ€–แ€ญแ€ฏแ€ทแ€กแ€แ€ฝแ€€แ€บแ€žแ€ฏแ€ถแ€ธแ€•แ€ซแ€แ€šแ€บแ‹

แ€œแ€€แ€บแ€แ€ฝแ€ฑแ€ทแ€…แ€™แ€บแ€ธแ€€แ€ผแ€Šแ€บแ€ทแ€€แ€ผแ€™แ€œแ€ฌแ€ธแ‹ แ€กแ€ฒแ€ทแ€’แ€ซแ€€แ€†แ€ญแ€ฏ แ€”แ€ฑแ€ฌแ€€แ€บแ€แ€™แ€ปแ€€แ€บแ€”แ€พแ€ฌแ€€แ€ญแ€ฏแ€€แ€ผแ€ฝแ‹

Last updated