Linux下簡(jiǎn)單幾步安裝AI開發(fā)環(huán)境-ROS(超有意思)
一口君機(jī)緣巧合,接觸到了一個(gè)開源的項(xiàng)目ROS,只需要根據(jù)本文操作,就可以很容易搭建一個(gè)具有3d效果的開發(fā)環(huán)境,非常有意思,和大家分享下。
0、什么是ROS
ROS(Robot Operating System,下文簡(jiǎn)稱“ROS”)是用于編寫機(jī)器人軟件程序的一種具有高度靈活性的軟件架構(gòu),是一個(gè)開源的元操作系統(tǒng)。ROS的原型源自斯坦福大學(xué)的STanford Artificial Intelligence Robot (STAIR) 和 Personal Robotics (PR)項(xiàng)目。
它提供了操作系統(tǒng)應(yīng)有的服務(wù),包括硬件抽象,底層設(shè)備控制,常用函數(shù)的實(shí)現(xiàn),進(jìn)程間消息傳遞,以及包管理。它也提供用于獲取、編譯、編寫、和跨計(jì)算機(jī)運(yùn)行代碼所需的工具和庫函數(shù)。
ROS設(shè)計(jì)者將ROS表述為“ROS = Plumbing + Tools + Capabilities + Ecosystem”,即ROS是通訊機(jī)制、工具軟件包、機(jī)器人高層技能以及機(jī)器人生態(tài)系統(tǒng)的集合體 。
1. ROS安裝
ROS Kinetic 只 支持Wily (Ubuntu 15.10), Xenial (Ubuntu 16.04) 和Jessie (Debian 8) 的debian包。ubuntu 16.04安裝,請(qǐng)參考文章《linux環(huán)境搭建-ubuntu16.04安裝》
1.1 配置Ubuntu軟件倉庫
配置你的Ubuntu軟件倉庫(repositories)以允許使用“restricted”“universe”和“multiverse”存儲(chǔ)庫。你可以根據(jù)Ubuntu軟件倉庫指南來完成這項(xiàng)工作。
1.2 設(shè)置sources.list
設(shè)置電腦以安裝來自packages.ros.org的軟件。
打開終端,輸入以下命令:
- sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
若下載速度緩慢,推薦就近選擇一個(gè)鏡像源替換上面的命令。例如,Tsinghua University為:
- sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
如果依舊遇到連接問題,請(qǐng)嘗試為Ubuntu apt換源(非ROS網(wǎng)站)。
1.3 設(shè)置密鑰
- sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
若無法連接到密鑰服務(wù)器,可以嘗試替換上面命令中的 hkp://keyserver.ubuntu.com:80 為 hkp://pgp.mit.edu:80 。
你也可以使用curl命令替換apt-key命令,這在使用代理服務(wù)器的情況下比較有用:
- curl -sSL 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654' | sudo apt-key add -
1.4 安裝
首先,確保你的Debian軟件包索引是最新的:
- sudo apt-get update
在ROS中,有很多不同的庫和工具。我們提供了默認(rèn)的配置來開始。你也可以單獨(dú)安裝ROS包。
如果以下步驟出現(xiàn)問題,可以使用以下存儲(chǔ)庫,而不是上面提到的那些ros-shadow-fixed
桌面完整版: (推薦) : 包含ROS、rqt、rviz、機(jī)器人通用庫、2D/3D 模擬器、導(dǎo)航以及2D/3D感知
- sudo apt-get install ros-kinetic-desktop-full
實(shí)際操作可能會(huì)出錯(cuò),多試幾次即可。
1.5 初始化 rosdep
在開始使用ROS之前你還需要初始化rosdep。rosdep可以方便在你需要編譯某些源碼的時(shí)候?yàn)槠浒惭b一些系統(tǒng)依賴,同時(shí)也是某些ROS核心功能組件所必需用到的工具。
- sudo rosdep init
但是初始化經(jīng)常會(huì)失敗, 解決方法:
- sudo su
- sudo gedit /etc/hosts
在hosts中添加以下內(nèi)容并保存,在執(zhí)行完后繼續(xù)rosdep update
- 199.232.28.133 raw.githubusercontent.com
- 151.101.228.133 raw.github.com
在此執(zhí)行 sudo rosdep init
1.6 更新 rosdep
該步驟可以不執(zhí)行,如果需要更新rosdep ,可以執(zhí)行以下命令:
- rosdep update
但是由于服務(wù)器不穩(wěn)定,通常需要多試幾次,
或者直接直接下載對(duì)應(yīng)的更新文件UAV_ROS.tar,拷貝到ubuntu中,
然后拷貝到/etc/ros/rosdep/下
- cd ~/ros
- sudo cp * /etc/ros/rosdep/
2. 編譯
1. 下載demo的解壓包hw_1,并解壓
- tar zxvf hw_1.tar
2. 創(chuàng)建工作空間
Ctrl+alt+t,打開終端,復(fù)制并逐條運(yùn)行以下命令
- mkdir -p ~/catkin_ws/src
- cd ~/catkin_ws/src
之后將 hw_1/src 中的三個(gè)文件夾復(fù)制到/catkin_ws/src 路徑下:
- cp ~/hw_1/src/* ~/catkin_ws/src -r
- cd ~/catkin_ws/src
繼續(xù)在終端執(zhí)行命令:
- catkin_init_workspace
- cd ~/catkin_ws/
- catkin_make
成功!
聲明環(huán)境變量:
- source devel/setup.bash
3. 打開 rviz
在終端執(zhí)行命令
- roscore
ctrl+shift+t,打開新一頁終端,執(zhí)行以下命令
- rviz
顯示出 rviz 初始頁面
最終界面如下:
4. 打開 rviz 配置文件
鼠標(biāo)放在左上方,點(diǎn)擊添加配置文件(open Config),
配置文件路徑為:
- ~/catkin_ws/src/grid_path_searcher/launch/rviz_config/demo.rviz
點(diǎn)擊open,進(jìn)入下面對(duì)話框:
點(diǎn)擊save后,顯示如下畫面,此時(shí)因?yàn)檫€未運(yùn)行程序,所以地圖沒有初始化,看不到點(diǎn)云三維地 圖。
5. 運(yùn)行程序,載入地圖
ctrl+shift+t,打開新一頁終端,執(zhí)行以下命令
- cd ~/catkin_ws
- source devel/setup.bash
- roslaunch grid_path_searcher demo.launch
畫面切到 rivz,可以看到,程序自動(dòng)載入了點(diǎn)云地圖
成功!