ROS學習--HelloWorld的實現(C++)

1.創建工作空間并初始化

mkdir -p 自定義空間名稱/src
cd 自定義空間名稱
catkin_make

上述命令,首先會創建一個工作空間以及一個 src 子目錄,然后再進入工作空間調用 catkin_make命令編譯。


2.進入 src 創建 ros 包并添加依賴

cd src
catkin_create_pkg 自定義ROS包名 roscpp rospy std_msgs

上述命令,會在工作空間下生成一個功能包,該功能包依賴于 roscpp、rospy 與 std_msgs,其中roscpp是使用C++實現的庫,而rospy則是使用python實現的庫,std_msgs是標準消息庫,創建ROS功能包時,一般都會依賴這三個庫實現。


3.進入 ros 包的 src 目錄編輯源文件

沿著下面的文件路徑,進入src文件夾,創建一個cpp文件進行編寫
在這里插入圖片描述

#include "ros/ros.h"int main(int argc, char *argv[])
{//ros節點初始化ros::init(argc,argv,"hello");//創建 ros 節點句柄(非必須)ros::NodeHandle n;//控制臺輸出 hello worldROS_INFO("hello world!");return 0;
}

4.編輯 ros 包下的 Cmakelist.txt文件

編輯 ros 包下的 Cmakelist.txt文件

add_executable(C++節點名src/步驟3的源文件名.cpp
)
target_link_libraries(C++節點名${catkin_LIBRARIES}
)

在這里插入圖片描述


5.進入工作空間目錄并編譯

cd 自定義空間名稱
catkin_make

至此已完成代碼的編譯。。
在這里插入圖片描述


7.執行

先啟動命令行1:啟動ros核心

roscore

再啟動命令行2:

cd 工作空間
source ./devel/setup.bash
rosrun 包名 C++節點

第二行的作用是將環境變量刷新到當前命令行窗口
我創建的包名是helloworld
在這里插入圖片描述
而C++節點則在剛才修改的cmake文件里,要注意并不是cpp文件名,這個節點名是可以自己在cmake里面改的,不過,以后盡量要保證映射的節點名與源文件名保持一致,這里只是為了區分它們
在這里插入圖片描述


效果:

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/35037.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/35037.shtml
英文地址,請注明出處:http://en.pswp.cn/news/35037.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

蘇紛享首屆生態人脈會成功舉辦,紛享銷客助力伙伴共同發展

近日,紛享銷客&蘇紛享成功舉辦了首屆生態人脈會,該活動于8月3日下午在蘇州東方之門舉行。本次會議匯聚了來自近20家企業的銷售精英,包括金蝶、泛微、夏谷、螞蟻分工、創享、黑湖智造等眾多知名企業。會議秉持著“建立生態、共同發展、深耕…

時間復雜度與空間復雜度的詳解

目錄 1.時間復雜度 2.時間復雜度計算例題 3.空間復雜度 1.時間復雜度 算法中的基本操作的執行次數,為算法的時間復雜度。 如何表達 時間復雜度? 大O的漸進表示法 實際中我們計算時間復雜度時,我們其實并不一定要計算精確的執行次數&#xf…

ArcGIS Pro暨基礎入門、制圖、空間分析、影像分析、三維建模、空間統計分析與建模、python融合、案例應用

GIS是利用電子計算機及其外部設備,采集、存儲、分析和描述整個或部分地球表面與空間信息系統。簡單地講,它是在一定的地域內,將地理空間信息和 一些與該地域地理信息相關的屬性信息結合起來,達到對地理和屬性信息的綜合管理。GIS的…

【數據結構】樹和二叉樹

一、樹的概念及結構 1、樹的概念 樹 是一種非線性的數據結構,它是由n(n>0)個有限結點組成一個具有層次關系的集合。把它叫做樹是因 為它看起來像一棵倒掛的樹,也就是說它是根朝上,而葉朝下的。 有一個特殊的結點&a…

mysql8.0.3集群搭建

下載mysql安裝包: https://dev.mysql.com/downloads/mysql/5.7.html#downloads 準備環境 1、準備三臺服務器并設置hosts 192.168.236.143 mysql1 192.168.236.144 mysql2 192.168.236.145 mysql32、設置免密登陸 #生成秘鑰 ssh-keygen -t rsa #一直按Enter即可…

php從靜態資源到動態內容

1、從HTML到PHP demo.php:后綴由html直接改為php,實際上當前頁面已經變成了動態的php應用程序腳本 demo.php: 允許通過<?php ... ?>標簽,添加php代碼到當前腳本中 php標簽內部代碼由php.exe解釋, php標簽之外的代碼原樣輸出,仍由web服務器解析 <!DOCTYPE html>…

MySQL數據庫基礎語法

一&#xff0c;數據庫操作 數據庫中不區分大小寫&#xff01;&#xff01;&#xff01; 1.1 顯示數據庫 show databases ; 如圖&#xff1a; 1.2 創建數據庫 create database [ if not exists ]數據庫名 ; 如圖&#xff1a; 1.3 使用數據庫 use 數據庫名 &#xff1b; 如圖&a…

8月13日,每日信息差

1、600余家互聯網企業發出倡議&#xff1a;積極維護防汛救災網絡秩序、截至目前&#xff0c;包括百度、微博、抖音、快手、小紅書、嗶哩嗶哩、阿里、騰訊等8家超大型互聯網平臺在內的600余家企業發出倡議書&#xff0c;唱響了萬眾一心、聚力救災救援的網上主旋律 2、蘇州調整耗…

常見的BUG分析方法有哪些?

分類法&#xff1a;對所有的BUG進行分類&#xff0c;識別出共性的問題。 根據分析的角度不同&#xff0c;也會有不同的分類方法&#xff0c;僅供參考&#xff1a; 發生階段&#xff1a;冒煙測試、迭代測試、SIT測試、UAT測試、生產&#xff1b;根據BUG的發生階段&#xff0c;我…

使用fopen等標準C庫來操作文件

fopen 需要的頭文件&#xff1a; #include <stdio.h> 函數原型&#xff1a; FILE *fopen(const char *pathname, const char *mode); 參數&#xff1a; pathname: 文件路徑mode: “r” &#xff1a;以只讀方式打開文件&#xff0c;該文件必須存在。“w” &#xff…

騰訊出了一個新聊天軟件M8

眾所周知&#xff0c;如今國內互聯網&#xff0c;微信和QQ無疑是社交領域的霸主。 下載:https://www.123pan.com/s/BP5A-RW4xh.html 不過&#xff0c;它們也有各自局限性&#xff0c;比如難以結識新朋友、功能過于復雜等。 這讓用戶產生厭倦&#xff0c;再加上近幾年AI、元宇…

PHP之PHPExcel

include PHPExcel.php; include PHPExcel/Writer/Excel2007.php; //或者include PHPExcel/Writer/Excel5.php; 用于輸出.xls的 //創建一個excel $objPHPExcel new PHPExcel(); // 輸出Excel表格到瀏覽器下載 header(Content-Type: application/vnd.ms-excel); header(Content-…

使用requests如何實現自動登錄

不知道大家有沒有注意到&#xff0c;好多網站我們登錄過后&#xff0c;在之后的某段時間內訪問該網頁時&#xff0c;不會給出請登錄的提示&#xff0c;時間到期后就會提示請登錄&#xff01;這樣在使用爬蟲訪問網頁時還要登錄&#xff0c;打亂我們的節奏&#xff0c;那么如何使…

考研408 | 【計算機網絡】 數據鏈路層

導圖&#xff1a; 數據鏈路層概念&#xff1a; 結點&#xff1a;主機、路由器 鏈路&#xff1a;網絡中兩個結點之間的物理通道&#xff0c;鏈路的傳輸介質主要有雙絞線、光纖和微波。分為有線鏈路、無線鏈路。 數據鏈路&#xff1a;網絡中兩個結點之間的邏輯通道&#xff0…

河道水位自動監測預警 yolov5

河道水位自動監測預警系統基于yolov5網絡模型AI視頻智能水尺讀數技術&#xff0c;河道水位自動監測預警系統通過在河道周邊布設監控攝像頭&#xff0c;實時監測水位的變化&#xff0c;一旦水位超過預設閾值&#xff0c;將自動發出預警信號&#xff0c;并提示相關人員采取相應的…

Three.js 實現材質邊緣通道發光效果

相關API的使用&#xff1a; 1. EffectComposer&#xff08;渲染后處理的通用框架&#xff0c;用于將多個渲染通道&#xff08;pass&#xff09;組合在一起創建特定的視覺效果&#xff09; 2. RenderPass(是用于渲染場景的通道。它將場景和相機作為輸入&#xff0c;使用Three.…

使用script標簽解決跨域問題,但是只能使用get請求,且不需要獲取get請求的數據,例如埋點,只需要觸發后發送get請求,而不需要獲取返回的參數

在項目中&#xff0c;使用埋點的時候&#xff0c;因為使用的是外部提供的接口&#xff0c;所以直接請求的時候&#xff0c;前端會報跨域的問題&#xff0c;本著不麻煩后端的想法&#xff0c;怎怎么前端實現跨域而完全不需要后段的配合&#xff0c;這時候就想到了通過script標簽…

【簡單認識zookeeper+kafka分布式消息隊列集群的部署】

文章目錄 一、zookeeper1、定義2、工作機制3、Zookeeper 特點4、Zookeeper 數據結構5、Zookeeper 應用場景6、Zookeeper 選舉機制&#xff08;1&#xff09;第一次啟動選舉機制&#xff08;2&#xff09;非第一次啟動選舉機制 7、部署zookeeper群集 二、消息隊列概述1、為什么需…

百度云盤發展歷程與影響

摘要&#xff1a; 百度云盤作為中國領先的云存儲與共享服務提供商&#xff0c;自其創立至今經歷了多個階段的發展與變革。本論文通過對百度云盤的歷史回顧與分析&#xff0c;探討了其在技術、商業模式、用戶體驗以及對社會的影響等方面的演變。同時&#xff0c;還分析了在競爭激…

使用luarocks安裝cjson并使用cjson

1.luarocks安裝 wget https://luarocks.org/releases/luarocks-3.3.1.tar.gz --no-check-certificatels -lrthtar -xvf luarocks-3.3.1.tar.gz mv luarocks-3.3.1 /usr/local/cd /usr/local/luarocks-3.3.1/./configure --prefix/usr/local/luarocks-3.3.1 vim /etc/profilePAT…