Link ROS發布:云主題可視化和日志記錄支持ROS1Melodic和ROS2Dashing 譯

      網友投稿 1038 2025-04-01

      越來越多的ROS內容在云端混合展開,并全面支持ROS2,關于ROS官網有如下建議:


      對于支持ROS1和ROS2的項目,什么時候把GitHub的默認分支從ROS1移到ROS2是合適的。考慮到Noetic即將發布,而且最后一個ROS1版本也即將發布,現在是考慮將所有的默認行為遷移到ROS2的好時機。這既是出于實用的原因,因為大多數新的開發可能都應該在ROS2中進行,同時也是為了突出早期的朋友們在將包遷移到ROS2中所做的偉大工作。將默認的分支作為ROS2的LTS發行版來發布,是一個信號,表明這個項目可以在ROS2中工作。如果很多項目都這樣做了,他們會認為這是一個運動,而事實就是如此。

      所以建議,對于所有的 ros-* 倉庫或更大的項目,與其把默認的分支從 melodic-devel -> noetic-devel 改成 foxy-devel,不如把它們遷移到 foxy-devel。有段時間以來,我已經讓我所有的非ros-*版本的項目都這樣做了,但現在看來,Foxy似乎是時候把所有的項目都遷移到foxy版本了。

      關于命名:

      隨著《ROS 2 Foxy Fitzroy》的發售日期越來越近,需要開始為《ROS 2 G海龜》的發售名稱進行頭腦風暴。

      現有的ROS 2名稱和代號:

      Ardent Apalone - ardent

      Bouncy Bolson - bouncy

      Crystal Clemmys - crystal

      Dashing Diademata - dashing LTS 推薦學習

      Eloquent Elusor - eloquent

      Foxy Fitzroy - foxy LTS 即將發布

      現有的ROS 1名稱和代號:

      Boxturtle - boxturtle

      C Turtle - cturtle

      Diamondback - diamondback

      Electric Emys - electric

      Fuerte - fuerte

      Groovy Galapagos - groovy

      Hydro Medusa - hydro

      Indigo Igloo - indigo LTS

      Jade Turtle - jade

      Kinetic Kame - kinetic LTS

      Lunar Loggerhead - lunar

      Melodic Morenia - melodic LTS 推薦學習

      Noetic Ninjemys - noetic LTS 即將發布

      ROS2適合商用,并且很多收費項目非常贊!!!比如:

      Link ROS,這是一套可以在世界任何地方通過任何網絡連接(防火墻、手機連接、WiFI、登錄屏幕...........)查看來自ROS的數據和控制機器人的工具。剛剛在Product Hunt上上線,使用促銷代碼PRODUCTHUNT免費贈送一個機器人一年。

      之前在做大型11DOF清潔服務機器人的時候,在WiFi連接不好的地方工作過。體會那種坐在現場機器人旁邊,拿著屏幕、鍵盤、鼠標插在機器人上,試圖重現已經發生過幾次的BUG。知道第一手資料是多么難。

      獲得一個穩定的ssh連接,甚至是設置好它,尤其是在部署地點的現場。

      在你的數據包中獲取正確的數據,將其共享到另一臺計算機上,并將其可視化。

      當你的機器人出現問題時,遠程控制你的機器人。

      見過一次又一次地解決了這些問題,但很少有人能正確地解決。目標是一勞永逸地解決這個問題。支持ROS開箱即用,單線安裝。擁有所有的數據。有一個前端應用,但是先做API,所以你可以把你的應用也掛到它上面。

      安裝文檔 - 單行安裝

      日志設置文檔 - 監控教程

      帶寬調整 - 調整到低速連接或千兆以太網上運行

      ROS連接

      ROS 1和2需要零代碼!

      現在,您已經安裝了代理,每次運行ROS并開始將數據上傳到Freedom時,ROS Shadow節點都會打開。

      Link ROS發布:云主題可視化和日志記錄支持ROS1Melodic和ROS2Dashing 譯

      ROS 1和ROS 2

      Freedom同時支持ROS 1和ROS2。在設備上安裝代理程序時,在運行安裝腳本之前,請打開ADVANCED菜單并選擇適當的ROS版本。

      如果要使用啟動腳本,播放ROS程序包或運行ROS節點,則無需執行其他任何操作。您的數據將自動開始上傳到云端!在這里,我們將通過一個最小的示例向您展示更多有關其工作原理的信息。

      沒有ROS嗎?

      如果你想測試出ROS的例子,并沒有安裝ROS(或使用的是Mac),運行以下命令來訪問自由泊塢游樂場:docker run -it frdmrobotics/playground bash。您需要apt-get install nano(或您最喜歡的編輯器)。

      開始上傳數據

      Freedom自動旋轉一個節點(名為link_ros)以自省使用ROS發布的主題。啟動某些內容并開始發布以進行檢查-ROS袋也可以工作!

      數據將顯示在STREAM儀表板的Freedom App中。

      ROS2:

      # Launch your own nodes and the Agent will automatically

      # start a node (link_ros) that listens to what is published.

      # Make sure to source your ROS workspace before launching.

      ros2 launch my_package my_launch.launch

      ROS2 Bag:

      # Not many good quality ROS2 bags exist yet - here we show a

      # workaround with a ROS1 bag run in ROS2

      # Make sure you have installed ros2 bag packages

      apt-get update

      sudo apt-get install ros-dashing-ros2bag-* ros-dashing-rosbag2*

      # Source ROS1 workspace first

      source /opt/ros/melodic/setup.bash

      # Now source ROS2 workspace

      source /opt/ros/dashing/setup.bash

      # Download a ROS bag to play, saving it as rosbag-example.bag

      curl -L -o rosbag-example.bag https://bit.ly/freedom-rosbag-example-car

      # Play the ROS bag and the Agent will listen to the topics it publishes

      ros2 bag play -s rosbag_v2 rosbag-example.bag

      發送和接收消息

      我們將通過一個示例演示ROS節點如何既可以將消息發送到Freedom,又可以響應從Freedom API發送的命令。

      創建一個名為的文件,demo_node.py并復制下面的代碼。

      ROS2:

      #!/usr/bin/env python

      # Please note that there are no references to Freedom in this ROS node.

      # The ROS Shadow node will automatically interact with this node and

      # stream the data.

      import time

      import rclpy

      import rclpy.logging

      from std_msgs.msg import String

      from sensor_msgs.msg import NavSatFix

      logger = rclpy.logging.get_logger('node_logger')

      # Create a callback to handle this topic

      def callback(data):

      logger.info("I heard {}".format(data.data))

      if data.data == "mission":

      logger.info("Running mission...")

      elif data.data == "shutdown":

      logger.info("Received shutdown command")

      rclpy.shutdown()

      # There is nothing you need to do. The ROS Shadow node

      # will automatically start when this starts

      if __name__ == '__main__':

      rclpy.init()

      node = rclpy.create_node('node_name')

      subscription = node.create_subscription(String, 'commands', callback, 10)

      # Create our satellite GPS location topic

      pub_nav = node.create_publisher(NavSatFix, 'location', 10)

      nav_msg = NavSatFix(latitude=37.778454, longitude=-122.389171)

      rclpy.spin(node)

      while rclpy.ok():

      pub_nav.publish(nav_msg)

      time.sleep(1)

      # Destroy the node explicitly

      # (optional - otherwise it will be done automatically

      # when the garbage collector destroys the node object)

      node.destroy_node()

      rclpy.shutdown()

      使用以下命令啟動節點。

      # Source ROS2 workspace

      source /opt/ros/dashing/setup.bash

      # Execute created script with python3 (mandatory for ROS2)

      python3 demo_node.py

      您的機器人現在正在報告其位置,同時耐心等待遠程命令!您可以在STREAM儀表板的地圖上查看其位置。

      本示例旨在向您展示使用ROS與Freedom連接的基礎知識。通常,您應該構建一個ROS程序包,使用Catkin或Colcon進行編譯,并使用ros2 run或ros2 launch,而不是如上所述地獨立運行ROS節點。

      測試回調

      為了檢查回調是否有效,我們將使用Freedom的REST API將命令發送到您的設備。

      首先,在Freedom App中選擇設備,然后導航至SETTINGS→DEVICE。在“?接口”部分中,選擇ROS(對于ROS1)或ROS2。

      接下來,如果您尚未登錄,請單擊此頁面右上角的“?登錄”,以便在此示例中,我們可以填充您的令牌,密碼,帳戶和設備的值。登錄后,運行以下命令:

      ROS2:

      TOKEN="MY_TOKEN"

      SECRET="MY_SECRET"

      ACCOUNT="MY_ACCOUNT"

      DEVICE="MY_DEVICE"

      HEADERS="-H content-type:application/json -H mc_token:$TOKEN -H mc_secret:$SECRET"

      DATA="[{

      \"platform\": \"ros\",

      \"utc_time\": `date +%s`,

      \"topic\": \"/commands\",

      \"type\": \"std_msgs/msg/String\",

      \"expiration_secs\": 10,

      \"message\": {\"data\":\"mission\"}

      }]"

      curl -v $HEADERS -d "$DATA" -X PUT "https://api.freedomrobotics.ai/accounts/$ACCOUNT/devices/$DEVICE/commands"

      該消息將在您設置的回調中接收。一旦您的機器人接收到該命令,它將記錄日志Running mission...。

      更改mission為shutdown并發送新命令。您的應用程序現在將遠程關閉。

      成功!您現在知道了如何使用Freedom通過云上傳數據并與您的機器人通信。

      機器人

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:Excel中2010版本進行手把手教加密文檔的操作方法(2010版excel怎么加密)
      下一篇:excel公式indirect的使用教程
      相關文章
      亚洲愉拍99热成人精品热久久 | 国产亚洲精品自在久久| 亚洲国产成人精品无码区二本| 亚洲成无码人在线观看| 亚洲男人天堂2017| 亚洲成在人天堂在线| 国产亚洲精久久久久久无码AV| 亚洲乱码中文字幕综合234| 久久亚洲AV无码精品色午夜| 亚洲乱亚洲乱少妇无码| 亚洲av无码一区二区三区在线播放| 亚洲黄页网在线观看| 亚洲人成网站色在线观看| 亚洲黄色在线网站| 亚洲一区二区三区首页| 亚洲一级毛片免费看| 亚洲美女在线观看播放| 亚洲精品美女视频| 亚洲成网777777国产精品| 亚洲成网777777国产精品| 国产亚洲精aa成人网站| 亚洲熟女一区二区三区| 国产成人亚洲综合色影视| 亚洲AV成人精品网站在线播放| 日本久久久久亚洲中字幕| 亚洲电影免费观看| 亚洲日本在线观看网址| 亚洲国产成人久久综合一区| 国产精品亚洲精品观看不卡| 亚洲日韩国产二区无码| 国产亚洲AV夜间福利香蕉149| 红杏亚洲影院一区二区三区| 91嫩草亚洲精品| 国产成人精品日本亚洲专区 | 国产AV无码专区亚洲AV蜜芽| 亚洲人成小说网站色| 亚洲精品久久久久无码AV片软件| 亚洲精品国产日韩无码AV永久免费网| 亚洲 欧洲 自拍 另类 校园| 国产aⅴ无码专区亚洲av麻豆 | 亚洲精品国产va在线观看蜜芽|