ROS機器人系統常規命令行操作

      網友投稿 1033 2022-05-29

      (圖文設計來源于創客貼-免費非商用板塊)

      # 0x1實驗環境:

      本實驗環境使用的是Ubuntu16.04系統環境,當然目前ROS在Ubuntu18.04上也較為兼容。并且如果使用C語言進行ROS開發的話,可安裝類似于Windows下VS的Cmake工具,便于更近一步開發。

      本文近1400字,閱讀需要8分鐘

      # 0x2開啟ROS:

      king@king:~$ roscore

      # 0x3啟動小烏龜測試節點:

      ROS機器人系統常規命令行操作

      king@king:~$ rosrun turtlesim turtlesim_node

      此時,我們可以看到在Ubuntu系統終端命令行的控制下,ROS為我們打開了ROS自帶的小烏龜測試節點。此時在配合控制節點就可以對于小烏龜進行方向操控。

      # 0x4查看各節點直接的關系:

      king@king:~$ rqt_graph

      # 0x5列出各系統節點:

      king@king:~$ rosnode list /rosout /teleop_turtle /turtlesim

      其中 /rosout 是采集所有節點里面的日志信息,用來提交給上面的仿真模擬界面來做顯示。

      查看指定節點的具體信息 (以 turtlesim 節點具體信息為例):

      king@king:~$ rosnode info /turtlesim -------------------------------------------------------------------------------- Node [/turtlesim] Publications: * /rosout [rosgraph_msgs/Log] * /turtle1/color_sensor [turtlesim/Color] * /turtle1/pose [turtlesim/Pose] Subscriptions: (通過鍵盤方向來反饋給仿真模擬系統) * /turtle1/cmd_vel [geometry_msgs/Twist] Services: * /clear * /kill * /reset * /spawn * /turtle1/set_pen * /turtle1/teleport_absolute * /turtle1/teleport_relative * /turtlesim/get_loggers * /turtlesim/set_logger_level contacting node http://king:45867/ ... Pid: 2709 Connections: * topic: /rosout * to: /rosout * direction: outbound (45045 - 127.0.0.1:38664) [24] * transport: TCPROS * topic: /turtle1/cmd_vel * to: /teleop_turtle (http://king:39861/) * direction: inbound (58676 - king:50595) [31] * transport: TCPROS

      通過分析,我們甚至能夠看到底層運行的TCP協議,會話等。

      # 0x6打印當前系統的所有話題列表:

      king@king:~$ rostopic list/rosout/rosout_agg/turtle1/cmd_vel/turtle1/color_sensor/turtle1/pose

      嘗試通過 ros-topic 命令來控制海龜實例按照要求移動

      其中 ros-topic 表示發布數據給某一個 topic

      其中 /turtle1/cmd_vel 為話題名 (選中后直接按 Tab 會自動補全話題)

      自動補全的 geom-e-try_msgs/Twist 為發布的數據內容,消息結構

      消息結構內的具體數據,例如本實例中即為 x,y,z

      king@king:~$ rostopic pub /turtle1/cmd_vel geometry_msgs/Twist "linear: x: 0.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.0"

      # 0x7終端產生器的服務器列表:

      king@king:~$ rosservice list/clear/kill/reset/rosout/get_loggers/rosout/set_logger_level/spawn/teleop_turtle/get_loggers/teleop_turtle/set_logger_level/turtle1/set_pen/turtle1/teleport_absolute/turtle1/teleport_relative/turtlesim/get_loggers/turtlesim/set_logger_level

      # 0x8使用/spawn產生一只新的海龜:

      king@king:~$ rosservice call /spawn "x: 0.0y: 0.0theta: 0.0name: ''"

      我們在模擬器中,畫出模擬器的 x,y,z(具體的控制方位是這么回事)

      此時就建立出了一個坐標系位于x=2 y=2的海龜。

      這樣我們在節點列表內在查看,出現一個名為turle2的海龜。

      king@king:~$ rostopic list/rosout/rosout_agg/turle2/cmd_vel/turle2/color_sensor/turle2/pose/turtle1/cmd_vel/turtle1/color_sensor/turtle1/pose

      此時我們通過第二個海龜的節點即可以對第二只海龜進行控制 (可以雙人海歸快打)

      /turle2/cmd_vel/turle2/color_sensor/turle2/pose

      # 0x9保存之前的姿勢狀態:

      rosbag record -a -o cmd_record

      -a指的是保存全部all,-o是將調整好的姿勢狀態保存成文件夾的形式,方便第二次打開處理。

      開始記錄姿態數據......

      記錄完畢后,退出自動保存

      rosbag play cmd_record.bag(保存的bag目錄)

      機器人

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

      上一篇:帶你走入Electron開發!
      下一篇:Linux分配home容量給根目錄
      相關文章
      亚洲国产日韩在线成人蜜芽 | 亚洲不卡无码av中文字幕| 亚洲成在人线电影天堂色| 亚洲人JIZZ日本人| 国产偷国产偷亚洲高清日韩| 亚洲精品第一国产综合境外资源| 亚洲А∨精品天堂在线| 亚洲国产精品碰碰| 亚洲精品尤物yw在线影院| 久久精品国产亚洲Aⅴ香蕉| 国产精品V亚洲精品V日韩精品| 国产亚洲精品资在线| 亚洲人成色77777| 亚洲av最新在线网址| 亚洲国产精品一区| 亚洲麻豆精品果冻传媒| 亚洲码在线中文在线观看| 亚洲国产精品综合福利专区| 亚洲不卡在线观看| 亚洲色偷偷综合亚洲AV伊人蜜桃| 亚洲最大无码中文字幕| 久久精品国产亚洲AV| 亚洲人成无码网WWW| 亚洲中文字幕无码久久综合网| 精品久久香蕉国产线看观看亚洲| 亚洲产国偷V产偷V自拍色戒| 亚洲国产精品国自产拍电影| 91在线精品亚洲一区二区| 亚洲一区在线视频观看| 亚洲色大成网站WWW国产| 国产亚洲日韩在线a不卡| 国产国拍精品亚洲AV片| 亚洲av无码片在线播放| 久久久久亚洲精品日久生情 | AV激情亚洲男人的天堂国语| 日日摸日日碰夜夜爽亚洲| 精品亚洲一区二区三区在线观看| 亚洲人成人77777网站| 精品亚洲成a人片在线观看| 久久精品国产亚洲AV久| 亚洲AV噜噜一区二区三区|