專案
學習
總結
ROS學習-程序通訊(接昨天)
遇到了問題:Invoking "make cmake_check_build_system" failed
解決方式:功能包裡不能有重複名稱的節點,檢查工作區中是否有其他 CMakeLists.txt 檔案定義了相同的目標
檢查是否開始釋出訊息:工作區下用命令列rostopic echo 話題名稱
程序通訊第一種方式-釋出訂閱模式
自定義訊息:
1.需要解除package.xml
中的<build_depend>message_generation</build_depend>
和<exec_depend>message_runtime</exec_depend>
2.修改cmakelist.txt
中的find package
,新增message_generation
,接著找到add_messages_files
,改為
add_message_files(
FILES
Person.msg
)
然後解開generate_messages
的註釋,再將catkin_package
項中改為CATKIN_DEPENDS roscpp rospy std_msgs message_runtime
3.自定義msg格式如下:
string name
int32 age
float32 height
4.此時編譯就會生成一些中間檔案,類似於建立了一些"類"可供使用
5.c_cpp_properies.json
配置路徑,可以程式碼補全,導包,在includePath
中新增類似/home/lausaku/demo02_ws/devel/include/**
就可以一次將所有include的包匯入,不用多次新增路徑
程序通訊第二種方式-客戶服務模式圖解
自定義訊息:和第一種通訊方式幾乎一樣,只有修改的位置稍有不同,照貓畫虎即可。
自定義srv格式如下:
int32 num1
int32 num2
--- #回傳用---隔開
int32 sum
看到P68,明天繼續