ros和java通讯_ROS学习之路(二)——通信架构(上)
1. master&&node
mater中文名又稱為節點管理器,作為管家管理所需要的進程,其作用有兩個:
每個node啟動時都要向master注冊。
管理node之間的通信。
node先找master登記,登記完了才能啟動。如果有很多的node兩兩之間的通信靠master的介紹完成的。
啟動ros master:
$ roscore
node的啟動方法:
$ rosrun [pkg_name][node_name]
與rosnode相關的命令:
#列出當前運行的node信息
$ rosnode list
#顯示某個node的詳細信息
$ rosnode info [node_name]
#結束某個node
$ rosnode kill [node_name]
啟動master和多個node
$ roslaunch [pkg_name][file_name.lauch]
下面是實際例子參考ROS學習之路(一)創建必要文件:
$ source ~/catkin_ws/devel/setup.bash
$ cd ~/catkin_ws/src/ROS-Academy-for-Beginners
$ roslaunch robot_sim_demo robot_spawn.launch
在新的終端里面使用:
$ rosnode list
$ source ~/catkin_ws/devel/setup.bash ##這一步必須執行
$ roslaunch robot_sim_demo robot_keyboard_teleop.py
2. topic&&msg
2.1 topic
topic是ROS的異步通信方式,node間通過publish-subscribe機制通信。
topic實際上是一個字符串。
2.2 message
message是topic內容的數據類型定義在*.msg文件中。message是一種數據格式,一條條信息必須遵守的規范。
基本msg包括:bool、int8、int16、int32、int64(以及unit)、float32、float64、string、time、duration、header。可變長數組array[],固定長度數組array[c]。
2.3 與topic和msg相關的命令
##列出當前所有topic
$ rostopic list
##顯示某個topic的屬性信息
$ rostopic info /topic_name
##顯示某個topic內容
$ rostopic echo /topic_name
##向某個topic發布內容
$ rostopic pub /topic_name
##列出系統上所有msg
$ rosmsg list
##顯示某個msg內容
$ rosmsg show /msg_name
總結
以上是生活随笔為你收集整理的ros和java通讯_ROS学习之路(二)——通信架构(上)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java读取pi_(树莓派csi相机)使
- 下一篇: oracle 数据库日期定义,Oracl