I. Preparation
1. Installing and Configuring Your ROS Environment
2. Managing Your Environment
(1) show what is environment variables.
http://wiki.ros.org/ROS/EnvironmentVariables
(2) $ printenv | grep ROS?
查找含有 ROS名字的環(huán)境變量
(3) $ rosbuild and catkin
(4) $ source /opt/ros/kinetic/setup.bash
創(chuàng)建并編譯包以后,追溯包的位置丧诺,及時(shí)更新入桂。之后可以直接用。?
II. Create a ROS Workspace
(1) $ mkdir -p ~/catkin_ws/src
迭代生成(一次性生成多層文件夾)文件夾
home=~
(2) $ cd ~/catkin_ws/
進(jìn)入路徑
(3) $ catkin_make
生成工作空間
連續(xù)執(zhí)行的若干條指令封裝為一條指令
初始化工作空間+建立文件夾+編譯
(4) $ source devel/setup.bash
注意:這條命令只在本窗口有效驳阎,如果想一勞永逸抗愁,只能在~/.bashrc 中添加這
條命令馁蒂。
(5) $ echo $ROS_PACKAGE_PATH?
III.?Navigating the ROS Filesystem
添加 rospack的依賴
(1) $ sudo apt-get install ros-kinetic-ros-tutorials
(2) $ rospack find roscpp
找出 roscpp的包
(3) $ roscd roscpp
通過 ros命令直接在包與報(bào)之間切換,進(jìn)入路經(jīng)
注意只能在已經(jīng)設(shè)置或者從源里面安裝的 share中的包與包之間作切換
本質(zhì)上就是~/.bashrc中有 source的包
(4) $ pwd
顯示現(xiàn)在的路徑
(5) $ echo $ROS_PACKAGE_PATH
顯示已經(jīng)列出的包的路徑
(6) $ roscd roscpp/cmake
(7) $ pwd
(8) $ roscd log
查看之前的操作與記錄
(9) $ rosls roscpp_tutorials?
(10) /*Tab Completion*/
利用 Tab鍵在當(dāng)前目錄下自動(dòng)補(bǔ)全蜘腌,提高打字效率沫屡。?
(11) $ roscd roscpp_tutorials/
IV. Creating a ROS Package
(1) /*Know about the package.*/
(2) $ cd ~/catkin_ws/src
(3) $ catkin_create_pkg beginner_tutorials std_msgs rospy roscpp?
創(chuàng)建了一個(gè)包,并列舉了三個(gè)依賴撮珠,相當(dāng)于 cpp中的 include
(4) $ cd ~/catkin_ws?
(5) $ catkin_make
(6) $ . ~/catkin_ws/devel/setup.bash?
確定包的路徑沮脖,將工作空間的內(nèi)容(.代表當(dāng)前的路徑),送到 ros 的環(huán)境變量
里面芯急。但是只能在本窗口有用勺届。
可以在.bashrc中寫入 source ~/catkin_ws/devel/setup.bash一勞永逸
(7) $ rospack depends1 beginner_tutorials
列舉第一順序的依賴
(8) $ roscd
beginner_tutorials
(9) $ cat
package.xml
(10) $ rospack depends1 rospy
(11) $ rospack depends beginner_tutorials?
V.?Understanding ROS Nodes
(1) $ roscore
(2) $ rosnode list
(3) $ rosnode info /rosout?
(4) $ rosrun turtlesim turtlesim_node?
(5) $ rosnode list
(6) $ rosrun turtlesim turtlesim_node __name:=my_turtle
(7) $ rosnode list
(8) $ rosnode ping my_turtle?
注意事項(xiàng):
1. 在換源操作以后,記得修改源文件的權(quán)限志于,防止被系統(tǒng)默認(rèn)修改涮因;
2. 使用 ros update 功能時(shí)废睦,如果源文件無法改動(dòng)或者改動(dòng)無效伺绽,則使用 VPN
提高網(wǎng)速;
3. 在.bashrc文件中添加 source語句可以使用 roscd進(jìn)入其他的包嗜湃。但不宜添加
太多奈应,否則也很難找到包;
4. 一般從官方源下載的包都集中在工作空間/src/share 中购披,可以直接使用 roscd
進(jìn)行報(bào)包之間的跳轉(zhuǎn)杖挣;
5. 包的中包括了四個(gè)部分:build, install, src,CMakeList.txt?
6. 學(xué)習(xí)使用 rospack命令來尋找包的依賴樹信息,定位包刚陡,列舉包等惩妇;
7. CmakeLists.txt:內(nèi)容包括了包括了包的名字、包的版本筐乳、包內(nèi)容的介紹歌殃、
維護(hù)者信息以及開源證書的類型等重要信息,同時(shí)也包括了依賴樹的信息蝙云。甚
至還包括了安裝方式氓皱、引用庫、所需的 CMade的版本的信息等勃刨。
8. package.xml 超文本文件與 CMakeList.txt 文件相似波材,包括了包的名字、包的
版本身隐、包內(nèi)容的介紹廷区、維護(hù)者信息以及開源證書的類型等重要信息,同時(shí)也包
括了依賴樹的信息贾铝。如果包的依賴樹不正確躲因,可以試著在自己的電腦上編譯一
下早敬,一般會報(bào)錯(cuò)。