国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【手把手做ROS2機(jī)器人系統(tǒng)開發(fā)二】熟悉ROS2基本命令

這篇具有很好參考價(jià)值的文章主要介紹了【手把手做ROS2機(jī)器人系統(tǒng)開發(fā)二】熟悉ROS2基本命令。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

【手把手做ROS2機(jī)器人系統(tǒng)開發(fā)二】熟悉ROS2基本命令

目錄

【手把手做ROS2機(jī)器人系統(tǒng)開發(fā)二】熟悉ROS2基本命令

一、上講回顧

二、ROS2核心命令講解

1、daemon-各種守護(hù)進(jìn)程相關(guān)的子命令

2、node-各種節(jié)點(diǎn)進(jìn)程相關(guān)的子命令

?3、pkg-各種包進(jìn)程相關(guān)的子命令

?4、run運(yùn)行特定軟件包的可行性文件

5、topic各種話題進(jìn)程相關(guān)的子命令

6、security各種安全進(jìn)程相關(guān)的子命令

7、service各種服務(wù)進(jìn)程相關(guān)的子命令

7、ROS2參數(shù)

8、ROS2操作Action

?9、ROS2消息日志

10、ROS2自啟動節(jié)點(diǎn)launch

11、數(shù)據(jù)記錄和播放


一、上講回顧

????????在上一講開發(fā)環(huán)境搭建中,我們講解了如何搭建Ubuntu系統(tǒng)環(huán)境和ROS2開發(fā)運(yùn)行環(huán)境。

1.Ubuntu系統(tǒng)安裝

2.ROS2系統(tǒng)環(huán)境安裝

二、ROS2核心命令講解

1、daemon-各種守護(hù)進(jìn)程相關(guān)的子命令

查看幫助:

ros2 daemon -h

啟動daemon

ros2 daemon start

查看狀態(tài)

ros2 daemon status

停止daemon

ros2 daemon stop

守護(hù)進(jìn)程用途:按照字面意思起到守護(hù)用途。類似ros1 master中心節(jié)點(diǎn)功能,用于減少節(jié)點(diǎn)之間發(fā)現(xiàn)的時(shí)間。

2、node-各種節(jié)點(diǎn)進(jìn)程相關(guān)的子命令

啟動一個(gè)節(jié)點(diǎn)用于測試

ros2 run demo_nodes_cpp talker

輸出節(jié)點(diǎn)列表:

ros2 node list

查看節(jié)點(diǎn)信息

ros2 node info /talker

?3、pkg-各種包進(jìn)程相關(guān)的子命令

創(chuàng)建功能包命令:指定包名、編譯方式、依賴項(xiàng)、節(jié)點(diǎn)名等

命令格式:

ros2 pkg create RobotDotTest --build-type ament_python --node-name RobotDotTest_node --dependencies rclpy std_msgs sensor_msgs --license Apache-2.0
命令 說明
ros2 pkg create ROS2功能包創(chuàng)建命令
RobotDotTest 所建功能包名稱
--build-type ament_python 指定編程語言
-node-name RobotDotTest_node 節(jié)點(diǎn)名稱
--dependencies rclpy std_msgs sensor_msgs 指定依賴模塊,rclpy是python編程必選的, std_msgs和sensor_msgs是我們要用的消息模塊,也可以不指定手動配置
--license Apache-2.0

指定license

Apache-2.0
BSL-1.0
BSD-2.0
BSD-2-Clause
BSD-3-Clause
GPL-3.0-only
LGPL-3.0-only
MIT
MIT-0

查看

---------------------------------------

?查看包列表

ros2 pkg list

ros2使用,手把手做ROS2機(jī)器人系統(tǒng)開發(fā),ROS2,ROS2基本命令,service,security,topic

?executables輸出特定于軟件包的可執(zhí)行文件列表:

ros2 pkg executables turtlesim

ros2使用,手把手做ROS2機(jī)器人系統(tǒng)開發(fā),ROS2,ROS2基本命令,service,security,topic

?prefix 輸出包的前綴路徑:

ros2 pkg prefix turtlesim 

ros2使用,手把手做ROS2機(jī)器人系統(tǒng)開發(fā),ROS2,ROS2基本命令,service,security,topic

?4、run運(yùn)行特定軟件包的可行性文件

ros2 run turtlesim turtlesim_node
ros2 run [-h] [--prefix PREFIX] package_name executable_name ...  
package_name     軟件包名稱
executable_name  執(zhí)行名稱
argv             執(zhí)行對應(yīng)參數(shù)

5、topic各種話題進(jìn)程相關(guān)的子命令

usage: ros2 topic [-h] [--include-hidden-topics]

  bw     顯示使用話題帶寬
  delay  通過header中的時(shí)間戳計(jì)算消息延遲
  echo   輸出話題信息
  find   按消息類型查找相關(guān)話題
  hz     顯示話題平均發(fā)布頻率
  info   顯示話題消息類型,訂閱者數(shù)量,發(fā)布者數(shù)量
  list   列出域內(nèi)可使用的主題列表
  pub    發(fā)布一個(gè)話題消息
  type   打印話題數(shù)據(jù)類型

list ? 列出域內(nèi)可使用的主題列表

ros2 topic list

info ? 顯示話題消息類型,訂閱者數(shù)量,發(fā)布者數(shù)量

ros2 topic info /turtle1/pose

type ? 打印話題數(shù)據(jù)類型

ros2 topic type /turtle1/pose

find ? 按消息類型查找相關(guān)話題

ros2 topic find turtlesim/msg/Pose

pub ? ?發(fā)布一個(gè)話題消息

ros2 topic pub control_node/action geometry_msgs/msg/TwistStamped "{header: {stamp:{sec: 0, nanosec: 0}, frame_id: control_node}, twist: {linear: {x: 0.3, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}}"

echo ? 輸出話題信息

ros2 topic echo /control_node/action

?hz ? ? 顯示話題平均發(fā)布頻率

ros2 topic hz /control_node/action

打開節(jié)點(diǎn)主題顯示圖形

rqt_graph

打開主題列表

ros2?topic?list?-t

查看主題數(shù)據(jù)

ros2 topic echo <topic_name>

ros2 topic echo /turtle1/cmd_vel

查看主題信息

ros2 topic info /turtle1/cmd_vel

查看主題數(shù)據(jù)結(jié)構(gòu)

ros2 interface show geometry_msgs/msg/Twist

發(fā)布主題數(shù)據(jù)消息

ros2 topic pub --once /turtle1/cmd_vel geometry_msgs/msg/Twist "{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 1.8}}"

ros2 topic pub --rate 1 /turtle1/cmd_vel geometry_msgs/msg/Twist "{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 1.8}}"

注:--once 單次發(fā)送 ??--rate 1 循環(huán)發(fā)送頻率1HZ

查看主題信息

ros2 topic echo /turtle1/pose

查看主題發(fā)送速率

ros2 topic hz /turtle1/pose

6、security各種安全進(jìn)程相關(guān)的子命令

  create_enclave      Create enclave

  create_key          創(chuàng)建秘鑰

  create_keystore     創(chuàng)建秘鑰庫

  create_permission   創(chuàng)建許可

  generate_artifacts  從身份和策略文件列表中生成密鑰和許可文件

  generate_policy     Generate XML policy file from ROS graph data

  list_enclaves       List enclaves in keystore

  list_keys           DEPRECATED: List enclaves in keystore. Use list_enclaves instead

7、service各種服務(wù)進(jìn)程相關(guān)的子命令

call調(diào)用服務(wù)

list列出所有的服務(wù)

ros2 service list

ros2使用,手把手做ROS2機(jī)器人系統(tǒng)開發(fā),ROS2,ROS2基本命令,service,security,topic

服務(wù)基于呼叫->應(yīng)答模型

查看服務(wù)列表

ros2?service?list

ros2 service list -t

查看服務(wù)類型

ros2 service type <service_name>

ros2 service type /clear

查看服務(wù)查找

ros2 service find <type_name>

ros2 service find std_srvs/srv/Empty

服務(wù)展示顯示

ros2 interface show <type_name>.srv

ros2 interface show std_srvs/srv/Empty.srv

ros2 interface show turtlesim/srv/Spawn

服務(wù)調(diào)用call

ros2 service call <service_name> <service_type> <arguments>

ros2 service call /clear std_srvs/srv/Empty

ros2 service call /spawn turtlesim/srv/Spawn "{x: 2, y: 2, theta: 0.2, name: 'turtle2'}"

7、ROS2參數(shù)

查看參數(shù)列表

ros2 param list

ros2參數(shù)get

ros2 param get <node_name> <parameter_name>

ros2 param get /turtlesim background_g

ros2 參數(shù)set

ros2 param set <node_name> <parameter_name> <value>

ros2 param set /turtlesim background_r 150

ros2參數(shù)存儲

ros2 param dump <node_name>

ros2 param dump /turtlesim

ros2 參數(shù)加載

ros2 param load <node_name> <parameter_file>

ros2 param load /turtlesim ./turtlesim.yaml

ros2 節(jié)點(diǎn)啟動時(shí)加載參數(shù)

ros2 run <package_name> <executable_name> --ros-args --params-file <file_name>

ros2 run turtlesim turtlesim_node --ros-args --params-file ./turtlesim.yaml

8、ROS2操作Action

(1)節(jié)點(diǎn)信息查看

ros2 node info /turtlesim

ros2 node info /teleop_turtle

(2)查詢操作列表

ros2 action list

ros2 action list -t

(3)操作動作信息

ros2 action info /turtle1/rotate_absolute

(4)操作界面顯示

ros2 interface show turtlesim/action/RotateAbsolute

(5)發(fā)送目標(biāo)動作

ros2 action send_goal <action_name> <action_type> <values>

ros2 action send_goal /turtle1/rotate_absolute turtlesim/action/RotateAbsolute "{theta: 1.57}"

ros2 action send_goal /turtle1/rotate_absolute turtlesim/action/RotateAbsolute "{theta: -1.57}" --feedback

?9、ROS2消息日志

消息等級:

Fatal消息指示系統(tǒng)將終止以嘗試保護(hù)自身免受損害。

Error消息指示不一定會損壞系統(tǒng),但會阻止其正常運(yùn)行的重大問題。

Warn消息指示可能代表更深層次問題的意外活動或非理想結(jié)果,但不會完全損害功能。

Info消息指示事件和狀態(tài)更新,用于直觀驗(yàn)證系統(tǒng)是否按預(yù)期運(yùn)行。

Debug消息詳細(xì)說明了系統(tǒng)執(zhí)行的整個(gè)分步過程。

啟動信息終端

ros2 run rqt_console rqt_console

設(shè)置節(jié)點(diǎn)啟動消息等級

ros2 run turtlesim turtlesim_node --ros-args --log-level WARN

10、ROS2自啟動節(jié)點(diǎn)launch

執(zhí)行自動文件

ros2 launch <package_name> <launch_file_name>

ros2 launch <path_to_launch_file>

執(zhí)行自動文件后接參數(shù)

ros2 launch <package_name> <launch_file_name> background_r:=255

ros2 launch <path_to_launch_file> background_r:=255

參考啟動文件

<!-- example.launch.xml -->

<launch>

??<!-- args that can be set from the command line or a default will be used -->

??<arg?name="background_r"?default="0"/>

??<arg?name="background_g"?default="255"/>

??<arg?name="background_b"?default="0"/>

??<arg?name="chatter_ns"?default="my/chatter/ns"/>

??<!-- include another launch file -->

??<include?file="$(find-pkg-share demo_nodes_cpp)/launch/topics/talker_listener.launch.py"/>

??<!-- include another launch file in the chatter_ns namespace-->

??<group>

????<!-- push-ros-namespace to set namespace of included nodes -->

????<push-ros-namespace?namespace="$(var chatter_ns)"/>

????<include?file="$(find-pkg-share demo_nodes_cpp)/launch/topics/talker_listener.launch.py"/>

??</group>

??<!-- start a turtlesim_node in the turtlesim1 namespace -->

??<node?pkg="turtlesim"?exec="turtlesim_node"?name="sim"?namespace="turtlesim1"/>

??<!-- start another turtlesim_node in the turtlesim2 namespace ?????and use args to set parameters -->

??<node?pkg="turtlesim"?exec="turtlesim_node"?name="sim"?namespace="turtlesim2">

????<param?name="background_r"?value="$(var background_r)"/>

????<param?name="background_g"?value="$(var background_g)"/>

????<param?name="background_b"?value="$(var background_b)"/>

??</node>

??<!-- perform remap so both turtles listen to the same command topic -->

??<node?pkg="turtlesim"?exec="mimic"?name="mimic">

????<remap?from="/input/pose"?to="/turtlesim1/turtle1/pose"/>

????<remap?from="/output/cmd_vel"?to="/turtlesim2/turtle1/cmd_vel"/>

??</node>

</launch>

11、數(shù)據(jù)記錄和播放

建立測試環(huán)境

ros2 run turtlesim turtlesim_node

ros2 run turtlesim turtle_teleop_key

建立記錄數(shù)據(jù)存儲區(qū)域

mkdir bag_files

cd bag_files

選擇對應(yīng)主題信息

ros2 topic list

ros2 topic echo /turtle1/cmd_vel

數(shù)據(jù)記錄命令

ros2 bag record <topic_name>

ros2 bag record /turtle1/cmd_vel

記錄多個(gè)主題信息

ros2 bag record -o subset /turtle1/cmd_vel /turtle1/pose

查看記錄信息

ros2 bag info <bag_file_name>

ros2 bag info subset

播放記錄信息

ros2 bag play subset

ros2 topic hz /turtle1/pose

本節(jié)文章到此結(jié)束,謝謝大家閱讀。。。?文章來源地址http://www.zghlxwxcb.cn/news/detail-629498.html

到了這里,關(guān)于【手把手做ROS2機(jī)器人系統(tǒng)開發(fā)二】熟悉ROS2基本命令的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 手把手教你搭建微信聊天機(jī)器人系列(三):搭建對接文心一言(ERNIE-Bot大模型)接口的微信聊天機(jī)器人

    手把手教你搭建微信聊天機(jī)器人系列(三):搭建對接文心一言(ERNIE-Bot大模型)接口的微信聊天機(jī)器人

    ????????上一章介紹了eggjs+wechaty搭建一個(gè)簡單的微信聊天機(jī)器人,只是實(shí)現(xiàn)了簡單的回復(fù),這一章我們將對接ERNIE-Bot接口,實(shí)現(xiàn)智能回復(fù)。 ????????我們在上一章代碼基礎(chǔ)上進(jìn)行調(diào)整,首先我們要加入access_token的請求邏輯。第一章我們說過,請求需要使用應(yīng)用對應(yīng)的

    2024年02月03日
    瀏覽(20)
  • 手把手QQ機(jī)器人制作教程,根據(jù)官方接口進(jìn)行開發(fā),基于Python語言制作的詳細(xì)教程(更新中)

    手把手QQ機(jī)器人制作教程,根據(jù)官方接口進(jìn)行開發(fā),基于Python語言制作的詳細(xì)教程(更新中)

    QQ開放平臺官方地址:https://q.qq.com/#/app/bot QQ開放平臺包含:QQ機(jī)器人、QQ小程序、QQ小游戲,我們這邊選擇QQ機(jī)器人。 機(jī)器人類型:設(shè)置私域機(jī)器人或者公域機(jī)器人,當(dāng)然公域機(jī)器人對于服務(wù)器的要求過高,我們這邊選擇 私域機(jī)器人 進(jìn)行開發(fā)。 特別注意在選擇沙箱頻道的時(shí)候

    2023年04月08日
    瀏覽(28)
  • ROS2機(jī)器人任務(wù)級導(dǎo)航仿真系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(預(yù)告)

    ROS2機(jī)器人任務(wù)級導(dǎo)航仿真系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(預(yù)告)

    前一篇: ?????ROS2工業(yè)機(jī)械臂抓取仿真系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(預(yù)告) ROS2機(jī)器人任務(wù)級導(dǎo)航仿真系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 一、背景與意義 隨著機(jī)器人技術(shù)的不斷發(fā)展和智能化需求的提高,機(jī)器人在各個(gè)領(lǐng)域中的應(yīng)用越來越廣泛。其中,機(jī)器人導(dǎo)航系統(tǒng)是實(shí)現(xiàn)機(jī)器人自主移動、完成各

    2024年01月24日
    瀏覽(28)
  • 手把手教你搭建微信聊天機(jī)器人系列(一):文心一言(百度千帆ERNIE-Bot大模型)API測試

    手把手教你搭建微信聊天機(jī)器人系列(一):文心一言(百度千帆ERNIE-Bot大模型)API測試

    ????????今年年初chatgpt大火,國產(chǎn)gpt文心一言也提供了內(nèi)測服務(wù),大家可以去訪問官網(wǎng)申請?bào)w驗(yàn)。文心一言APP上的功能更加強(qiáng)大,可以看這個(gè)測評文章。作為程序猿的我們,想接入文心一言的能力,比如開發(fā)一個(gè)聊天機(jī)器人,要怎么做呢?百度在其開發(fā)者平臺開放了大模

    2024年02月07日
    瀏覽(29)
  • [工業(yè)互聯(lián)-14]:機(jī)器人操作系統(tǒng)ROS與ROS2是如何提升實(shí)時(shí)性的?

    [工業(yè)互聯(lián)-14]:機(jī)器人操作系統(tǒng)ROS與ROS2是如何提升實(shí)時(shí)性的?

    目錄 第1章 簡介 第2章 歷史 第3章 特點(diǎn) (1)點(diǎn)對點(diǎn)設(shè)計(jì) (2)不依賴編程語言 (3)精簡與集成 (4)便于測試 (5)開源 (6)強(qiáng)大的庫及社區(qū): (7)通道: (8)工具: (9)強(qiáng)大的庫: (10)生態(tài)系統(tǒng): 第4章 ROS的系統(tǒng)架構(gòu) 第5章 ROS與Linux 5.1 ROS能安裝在Linux之上嗎? 5.

    2024年02月14日
    瀏覽(27)
  • RoboMaster EP 實(shí)用功能開發(fā)(三): 基于樹莓派的ROS2機(jī)器人系統(tǒng)搭建

    RoboMaster EP 實(shí)用功能開發(fā)(三): 基于樹莓派的ROS2機(jī)器人系統(tǒng)搭建

    功能: 在樹莓派4b上安裝ros2系統(tǒng),引入robomaster?sdk,搭建一個(gè)基于ROS2的機(jī)器人系統(tǒng),用于ROS系統(tǒng)的學(xué)習(xí)、開發(fā)和實(shí)踐。 硬件: RobotMaster?EP、樹莓派4b 系統(tǒng)平臺: Ubuntu 20.04、ROS2(Foxy) 開發(fā)語言及主要庫函數(shù)版本:p ython == 3.8,robomaster == 0.1.1.62 一、樹莓派4b安裝ubuntu20.04 ?

    2024年02月09日
    瀏覽(20)
  • 【ROS2機(jī)器人入門到實(shí)戰(zhàn)】ROS2接口介紹

    【ROS2機(jī)器人入門到實(shí)戰(zhàn)】ROS2接口介紹

    當(dāng)前平臺文章匯總地址:ROS2機(jī)器人從入門到實(shí)戰(zhàn) 獲取完整教程及配套資料代碼,請關(guān)注公眾號魚香ROS獲取 教程配套機(jī)器人開發(fā)平臺:兩驅(qū)版| 四驅(qū)版 為方便交流,搭建了機(jī)器人技術(shù)問答社區(qū):地址 fishros.org.cn 本節(jié)小魚將會帶你學(xué)習(xí)認(rèn)識一個(gè)新的概念,叫做interface,即接口。

    2024年02月05日
    瀏覽(26)
  • 【ROS2機(jī)器人入門到實(shí)戰(zhàn)】ROS2節(jié)點(diǎn)介紹

    【ROS2機(jī)器人入門到實(shí)戰(zhàn)】ROS2節(jié)點(diǎn)介紹

    當(dāng)前平臺文章匯總地址:ROS2機(jī)器人從入門到實(shí)戰(zhàn) 獲取完整教程及配套資料代碼,請關(guān)注公眾號魚香ROS獲取 教程配套機(jī)器人開發(fā)平臺:兩驅(qū)版| 四驅(qū)版 為方便交流,搭建了機(jī)器人技術(shù)問答社區(qū):地址 fishros.org.cn ROS2中每一個(gè)節(jié)點(diǎn)也是只負(fù)責(zé)一個(gè)單獨(dú)的模塊化的功能(比如一個(gè)

    2024年02月06日
    瀏覽(61)
  • 【ROS2機(jī)器人入門到實(shí)戰(zhàn)】ROS2服務(wù)入門

    【ROS2機(jī)器人入門到實(shí)戰(zhàn)】ROS2服務(wù)入門

    當(dāng)前平臺文章匯總地址:ROS2機(jī)器人從入門到實(shí)戰(zhàn) 獲取完整教程及配套資料代碼,請關(guān)注公眾號魚香ROS獲取 教程配套機(jī)器人開發(fā)平臺:兩驅(qū)版| 四驅(qū)版 為方便交流,搭建了機(jī)器人技術(shù)問答社區(qū):地址 fishros.org.cn 大家好,帥魚又蹬蹬蹬的游回來了。本節(jié)小魚將要帶大家一起了解

    2024年02月07日
    瀏覽(54)
  • 【ROS2機(jī)器人入門到實(shí)戰(zhàn)】ROS2話題入門

    【ROS2機(jī)器人入門到實(shí)戰(zhàn)】ROS2話題入門

    當(dāng)前平臺文章匯總地址:ROS2機(jī)器人從入門到實(shí)戰(zhàn) 獲取完整教程及配套資料代碼,請關(guān)注公眾號魚香ROS獲取 教程配套機(jī)器人開發(fā)平臺:兩驅(qū)版| 四驅(qū)版 為方便交流,搭建了機(jī)器人技術(shù)問答社區(qū):地址 fishros.org.cn 話題是ROS2中最常用的通信方式之一,話題通信采取的是訂閱發(fā)布

    2024年02月04日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包