1. 程式人生 > >小強機器人學習筆記(1)

小強機器人學習筆記(1)

問題1:roscore到底是什麼,什麼情況下必須先執行roscore

ERROR: Unable to communicate with master!

這是不執行roscore就rosnode list的下場。

但是小強機器人的遠端連結

ssh [email protected]

這條指令一旦執行,就相當於運行了一個roscore,rostopic list和rosnode list就都直接能用了

問題二:複習一下以前的指令

參考:ros教程

節點http://wiki.ros.org/cn/ROS/Tutorials/UnderstandingNodes

話題http://wiki.ros.org/cn/ROS/Tutorials/UnderstandingTopics

rosrun [package_name] [node_name]
作用:rosrun 允許你使用包名直接執行一個包內的節點(而不需要知道這個包的路徑)
rostopic echo [topic]
作用:可以顯示在某個話題上釋出的資料。

問題三:為什麼視訊傳輸不需要先建立遠端連結

我想原因可能在於這句話

export ROS_MASTER_URI=http://xiaoqiang-desktop:11311     很重要

之前我們在我們電腦的/etc/hosts 檔案內新增小強的 ip
192.168.X.X xiaoqiang-desktop

這樣只要這句話一執行就相當於已經遠端遙控了。

當我們在嘗試使用rostopic list和rosnode list時,均可順利執行,說明已經連結到小強。

實驗表明這種方式和ssh方式的rostopic list和rosnode list看到的話題和節點是完全一樣的

話題

/ORB_SLAM/Camera
/ORB_SLAM/Frame
/barDetectFlag
/camera_node/camera_info
/camera_node/image_raw
/camera_node/image_raw/compressed
/camera_node/image_raw/compressed/parameter_descriptions
/camera_node/image_raw/compressed/parameter_updates
/camera_node/image_raw/compressedDepth
/camera_node/image_raw/compressedDepth/parameter_descriptions
/camera_node/image_raw/compressedDepth/parameter_updates
/camera_node/image_raw/theora
/camera_node/image_raw/theora/parameter_descriptions
/camera_node/image_raw/theora/parameter_updates
/cmd_vel
/globalMoveFlag
/imu_cal
/joint_states
/nav_setStop
/odom_combined
/orb_scale/scaleStatus
/rosout
/rosout_agg
/system_monitor/report
/tf
/tf_static
/usb_cam/brightness
/usb_cam/image_raw
/xqserial_server/Odom
/xqserial_server/Pose2D
/xqserial_server/Power
/xqserial_server/StatusFlag
/xqserial_server/Twist

節點包括:

/appServer_node
/baselink_broadcaster
/camera_node
/joint_state_publisher
/motor_driver
/robot_state_publisher
/rosout
/system_monitor
/web_node

那麼以後在遠端控制的時候,如果我們都連在hrt的網路上(因為etc/host中的小強ip是我寫的是在hrtwifi中他的的ip)我就可以直接export ROS_MASTER_URI=http://xiaoqiang-desktop:11311 就連線上了


那麼問題來了

問題四:上面說的兩條語句,同樣是遠端,區別在哪

我在使用了export ROS_MASTER_URI=http://xiaoqiang-desktop:11311之後,重新嘗試了昨天的實驗,但是發現首先系統狀態(電量啊之類的)就檢視不了

[email protected]:~$ export ROS_MASTER_URI=http://xiaoqiang-desktop:11311
[email protected]:~$ rostopic echo /system_monitor/report

ERROR: Cannot load message class for [system_monitor/Status]. Are your messages built?

同樣,當我想遠端控制小強運動時也失敗了

rosrun nav_test control.py
[rospack] Error: package 'nav_test' not found

他說找不到這個包

所以我推測:我標紅的那個命令是個假的,只是一個空殼,而沒有實際內容,只能顯示出小強上話題的名字而實際呼叫的時候卻執行不了。

而攝像頭之所以能用這種方式開啟,事實上我推測是因為我們自己的電腦裡有相關的包,這一點也得到了證實

這是他開啟小強攝像頭的程式

rosrun image_view image_view image:=/camera_node/image_raw _image_transport:=compressed

這是我從我的電腦中找這個包的語句

[email protected]:~$ rospack find image_view
/opt/ros/kinetic/share/image_view

說明image_view這個包在我電腦中是存在的

我估計後半句的意思是把攝像頭的影象賦值給某個東西,得在瞭解一下。

所以我感覺,這兩種控制方式的區別就是,ssh是真控制,可以執行小強中的節點和包。而紅字實際上還是隻能執行我們自己電腦中的包,是假控制。

感覺前者是我訪問操作小強,而後者是小強把資料傳給我。

從這個角度講,就能解釋我昨天遇到的問題了:我昨天ssh之後,又在ssh中進行視訊傳輸的操作,這肯定不對。因為這裡視訊傳輸是我站在小強的外部,讓小強給我發資料,昨天那麼操作相當於我先ssh進入了小強內部,然後讓小強給自己內部的東西發資料,這顯然不合理。

所以我推測,二者一個是控制,另一個是通訊。

相關推薦

機器人學習筆記1

問題1:roscore到底是什麼,什麼情況下必須先執行roscore ERROR: Unable to communicate with master! 這是不執行roscore就rosnode list的下場。 但是小強機器人的遠端連結 ssh [email p

微信程式學習筆記1

首先,註冊帳號 這裡指的是微信公眾平臺的註冊帳號,不是微信App賬號。 訪問https://mp.weixin.qq.com/,如果沒有帳號,輸入郵箱,註冊一個。註冊過程中會讓你從四個類別(微信訂閱號、服務號、企業微信、小程式)中選擇一個,選擇“小程式"就好了。 後續輸

微信:程式學習筆記1

微信的小程式已經推出了,相繼的教程也有。官方網頁推出API和介面說明,目前來講暫時足夠。 可以進入該連結檢視。微信官網 今天嘗試一下下載該web的開發工具,從目前來講,使用了一個下午。目前版本給人的感覺還有待繼續提升的恐懼。從編碼的體驗來講,對一個重度使用者

JAVA學習筆記1——a++與++a的區別

col int 演示 opera 解析 代碼 數據 ++i div 需求:此博客用於解釋i++與++i的區別。 過程: 1、名稱解釋 ++:自增,即在原有數據基礎上+1,再賦給原有數據。 2、程序演示 (1)代碼: 1 class OperateDemo 2 { 3

vray學習筆記1

com .cn 過程 分組 是把 皮膚 mon image 基本 vray是個什麽東西? 它是個渲染器。 渲染器是個什麽東西? 渲染器就是3d軟件裏面把模型畫成一張圖片的東西,渲染的過程就是把3D物體變成2D畫面的過程。 模型是個什麽東西? 模型就是模型,它由兩部分組成,第

《深入理解C指針》學習筆記1--- 指針之外

結構 def form 學習 編程 stdlib.h struct 一個 char   C語言從誕生之初就非常善於和硬件打交道,經過這麽多年的發展之後,其靈活性和超強的特征是受到幾乎所有程序員的肯定。C語言的這種靈活性很大一部分程度來源與C指針,指針為C語言動態操控內存提供

CS231n 學習筆記1 Image CLassification

eight function 分享 便是 數據驅動 rain 分類問題 很難 特征 圖像分類是計算機視覺中的一項核心任務,那麽什麽是圖像分類? 例如,給你一個標簽集,其中包括(貓、狗、鳥、卡車、飛機...等) 然後給你一張圖片,那麽這張圖片屬於哪個類別呢?這就是一個分類

bootstrap 學習筆記1---介紹bootstrap和柵格系統

優先 cal 圖片 應用 尺寸 文件中 lin png ice   學習前端許久,對於布置框架和響應瀏覽器用html 和javascript 寫的有點繁瑣,無意間看到這個框架,覺得挺好用的就開始學習了,但是這個框架上面有很多知識,不是所有的都要學的,故將學習筆記和覺得重點的

《挑戰程序設計競賽》學習筆記 1

設計 allow 而且 硬幣 ack ket 程序設計 all 不能 2.2 貪心法 貪心法是遵循某種規則,不斷貪心選取當前最優策略的算法設計方法。 貪心法的求解思想是通過叠代地選取當前問題的局部最優解法來達成總體最優解,在叠代的過程中不斷地產生局部最優解和下一個與之前

AngularJs學習筆記1——ng-app

oot you ctrl span fun 代碼 問題 筆記 doctype 眾所周知: ng-app 指令用於告訴 AngularJS 應用當前這個元素是根元素。 所有 AngularJS 應用都必須要要一個根元素。 HTML 文檔中只允許有一個 ng-app 指令,如果

Nordic nRF52832 學習筆記1 介紹,入門,與準備工作

例程 盜版 path pdf 規範 準備 但是 依然 可能   近來,物聯網已成為大勢所趨,VR與AR正方興未艾,各種手環、遙控、智能家居也在粉墨登場。技術前沿的領航者們已經快馬加鞭,各種意誌與暗示也在上傳下達。物聯網,無線通訊,移動互聯,將成為新的目標與寵兒。最近開的電賽

javascript 高級程序設計學習筆記1

元素 新的 logs html light begin 知識 gin nbsp 知識補充: var box = document.querySelector(‘#box‘); //"beforebegin" ,在當前元素之前插入一個緊鄰的同輩元素; box.ins

Postgresql 學習筆記1

sql postgre 一、環境#配置遠程連接 su postgres vim /var/lib/pgsql/9.4/data/postgresql.conf 編輯配置文件 listen_address=’localhost’ 前面的註釋#去掉,並把’localhost’該為’*’;

Hibernate學習筆記1---hibernate快速上手與準備工作

成了 -- 開源 工作 快速 tar ref orm 磁盤 持久層介紹 持久化:將內存中的數據保存在磁盤等存儲設備中。 持久化對象:指已經存儲在數據庫護著磁盤的業務對象 經典的軟件應用體系結構(三層結構) 在三層結構中,由於業務邏輯除了負責業務邏輯以外,還要負責相關的數據

jQuery源碼學習筆記1

ase tolower nodetype apt jquer 元素 bre 技術分享 停止 在慕課網上學習jQuery源碼,做一些筆記小研究。 第1章 節點遍歷 第2章 文檔處理 第3章 元素操作 第4章 樣式操作 第5章 事件體系 第6章 數據交互 第7章

Struts2學習筆記1---相關配置

XML def rec 模塊 定向 -1 開發 oba 合並 Struts 2是Struts的下一代產品,是在 struts 1和WebWork的技術基礎上進行了合並的全新的Struts 2框架。 1創建action對象(三種) 1 創建普通的類,不繼承任何類,也不

linux學習筆記1

1 linux之父是linus Torvalds(李納斯 托沃滋),1991年他在赫爾辛基大學讀書時自己手動寫了一個電腦操作系統,取名linux,並且公布了源代碼。 C語言之父是Dennis M Ritchie(丹尼斯 裏奇)。 JAVA之父是詹姆斯高斯林,出生在加拿大,他編寫了多處理器版本的unix操

Node-學習筆記1

alua 就是 服務器 結果 move save toc pda 通過 什麽是Node.js 1)Node.js是一個基於Chrome V8引擎的JavaScript 運行環境 2)Node.js使用了一個事件驅動、非阻塞式I/O的模型,使其輕量又高效。 ① 事件

Linux第三周學習筆記1

命令 hiho 並且 ron 增加 如果 mkdir strong lin Linux第三周學習筆記(1)2.20 特殊權限stick_bit特殊權限stick_bit:意為防刪除位。文件是否可以被某一個用戶刪除,主要取決於該文件所在目錄是否對該用戶具有寫的權限。如果沒有寫

MATLAB學習筆記1

nike arch 演示 主界面 文件名 anti 包含 按鍵 只需要 工作窗口 應用程序標簽(APPS) 繪圖標簽(PLOTS) 主頁標簽(HOME) 以上三者在最上面一行。所屬各種功能看字面意思即可。 常用操作欄:主界面右上角。 文件夾管理欄:工具欄下方。 命令