一步步學ROS

2021-07-25 23:48:31 字數 1827 閱讀 8651

最近因為看svo的**,裡面用到catkin決定要好好看ros,年前學會基本操作。啟動節點 rosrun package-name executable-name

檢視節點 rosnode list

注:rosout 節點是乙個特殊的節點,通過 roscore 自動啟動

檢視特定節點的資訊 rosnode info node-name

終止節點 rosnode kill node-name

注:終止和重啟節點通常不會對其他節點有較大影響;即使節點間正在相互交換訊息( message),這些連線也會在節點終止時斷開,在節點重啟時重新連線。

也可以用ctrl-c終止節點,但是終止的節點仍在rosnode列表中。可以用rosnode cleanup刪除列表中無效的節點。

軟體包列表rospack list

每個程式包由乙個清單檔案( 檔名為package.xml)定義該檔案定義關於包的一些細節,包括其名稱、 版本、 維護者和依賴關係。

定位軟體包

要找到乙個軟體包的目錄,使用 rospack find 命令

rospack find package-name

訪問某軟體包目錄

roscd package-name

檢視軟體包目錄下的檔案:

rosls package-name

注:不用說明軟體包的位置,直接由包名,ros系統能直接檢索到包名所在位置。前提是必須將該路徑加到環境設定中去 source /包的目錄/devel/setup.bash

ros節點之間的通訊最重要的是利用訊息傳遞。訊息有組織的放在話題裡。當乙個節點想要分享資訊時,它就會發布(publish)訊息到對應的乙個或者多個話題;當乙個節點想要接收資訊時,它就會訂閱(subscribe)它所需要的乙個或者多個話題。

ros節點管理器負責確保發布節點和訂閱節點能找到對方;而且訊息是直接地從發布節點傳遞到訂閱節點,中間並不經過節點管理器轉交。

檢視節點之間的發布-訂閱關係 rqt_graph

獲取當前活躍的話題 rostopic list

列印訊息內容 rostopic echo topic-name

測量發布頻率 rostopic hz topic-name

rostopic bw topic-name

檢視話題rostopic info topic-name

輸出的是訊息型別:資料型別理解訊息的型別很重要,因為它決定了訊息的內容。

檢視訊息型別rosmsg show message-type-name

常用的兩種訊息型別

geometry_msgs/twist

turtlesim/color

訊息型別同樣可以包含固定或可變長度的陣列(用中括號表示)和常量(一般用來解析其他非常量的域)。

用命令列發布訊息

rostopic pub –r rate-in-hz topic-name message-type message-content

注意:

這兩個的區別是,上面的_ _name的意思是覆蓋節點名稱turtlesim_node,因為不允許節點重名。

多個發表者和多個訂閱者可以共享乙個話題。

機械人作業系統(ros)**

一步步學彙編(九)call ret

一步步學彙編 九 call ret call和ret指令都是轉移指令,都修改ip,或同時修改cs和ip。經常被用來 實現子程式的設計。ret指令用棧中的資料,修改ip的內容,實現近轉移 retf指令用棧中的資料,修改cs和ip的內容,實現遠轉移 cpu執行ret指令時的操作 1 ip ss 16 s...

windows Thrift c 一步步搭建

1.thrift 原始碼路徑 2.libevent原始碼路徑 3.boost路徑 安裝 conan install boost 1.68.0 conan stable 4.openssl路徑 安裝 conan install openssl 1.1.1a conan stable conan安裝bo...

一步步啟動linux

可以一步一步啟動linux.在ubantu剛一啟動時,按c健即進入grub 提示符狀態,在此狀態下輸入 我用的是ubuntu 13 grub linux vmlinuz grub ls boot grub initrd boot initrd.img 3.11.0 15 generic grub b...