1. 程式人生 > 其它 >Linux下簡單幾步安裝AI開發環境-ROS(超有意思)

Linux下簡單幾步安裝AI開發環境-ROS(超有意思)

機緣巧合,接觸到了一個開源的專案ROS,只需要根據一口君的操作,就可以很容易搭建一個具有3d效果的開發環境,非常有意思,和大家分享下。

0、什麼是ROS

ROS(Robot Operating System,下文簡稱“ROS”)是用於編寫機器人軟體程式的一種具有高度靈活性的軟體架構,是一個開源的元作業系統。ROS的原型源自斯坦福大學的STanford Artificial Intelligence Robot (STAIR) 和 Personal Robotics (PR)專案。

它提供了作業系統應有的服務,包括硬體抽象,底層裝置控制,常用函式的實現,程序間訊息傳遞,以及包管理。它也提供用於獲取、編譯、編寫、和跨計算機執行程式碼所需的工具和庫函式。

ROS設計者將ROS表述為“ROS = Plumbing + Tools + Capabilities + Ecosystem”,即ROS是通訊機制、工具軟體包、機器人高層技能以及機器人生態系統的集合體 。

1. ROS安裝

ROS Kinetic 只 支援Wily (Ubuntu 15.10), Xenial (Ubuntu 16.04) 和Jessie (Debian 8) 的debian包。

ubuntu 16.04安裝,請參考文章《linux環境搭建-ubuntu16.04安裝

1.1 配置Ubuntu軟體倉庫

配置你的Ubuntu軟體倉庫(repositories)以允許使用“restricted”“universe”和“multiverse”儲存庫。你可以根據Ubuntu軟體倉庫指南來完成這項工作。

1.2 設定sources.list

設定電腦以安裝來自packages.ros.org的軟體。

開啟終端,輸入以下命令:

sudosh-c'echo"debhttp://packages.ros.org/ros/ubuntu$(lsb_release-sc)main">/etc/apt/sources.list.d/ros-latest.list'

若下載速度緩慢,推薦就近選擇一個映象源替換上面的命令。例如,Tsinghua University為:

sudosh-c'./etc/lsb-release&&echo"debhttp://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/`lsb_release-cs`main">/etc/apt/sources.list.d/ros-latest.list'

如果依舊遇到連線問題,請嘗試為Ubuntu apt換源(非ROS網站)。

1.3 設定金鑰

sudoapt-keyadv--keyserver'hkp://keyserver.ubuntu.com:80'--recv-keyC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

若無法連線到金鑰伺服器,可以嘗試替換上面命令中的 hkp://keyserver.ubuntu.com:80 為 hkp://pgp.mit.edu:80 。

你也可以使用curl命令替換apt-key命令,這在使用代理伺服器的情況下比較有用:

curl-sSL'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654'|sudoapt-keyadd-

1.4 安裝

首先,確保你的Debian軟體包索引是最新的:

sudoapt-getupdate

在ROS中,有很多不同的庫和工具。我們提供了預設的配置來開始。你也可以單獨安裝ROS包。

如果以下步驟出現問題,可以使用以下儲存庫,而不是上面提到的那些ros-shadow-fixed

桌面完整版: (推薦) : 包含ROS、rqt、rviz、機器人通用庫、2D/3D 模擬器、導航以及2D/3D感知

sudoapt-getinstallros-kinetic-desktop-full

實際操作可能會出錯,多試幾次即可。

1.5 初始化 rosdep

在開始使用ROS之前你還需要初始化rosdep。rosdep可以方便在你需要編譯某些原始碼的時候為其安裝一些系統依賴,同時也是某些ROS核心功能元件所必需用到的工具。

sudorosdepinit

但是初始化經常會失敗, 解決方法:

sudosu
sudogedit/etc/hosts

在hosts中新增以下內容並儲存,在執行完後繼續rosdep update

199.232.28.133raw.githubusercontent.com
151.101.228.133raw.github.com

在此執行 sudo rosdep init

1.6 更新 rosdep

該步驟可以不執行,如果需要更新rosdep ,可以執行以下命令:

rosdepupdate

但是由於伺服器不穩定,通常需要多試幾次,

或者直接直接下載對應的更新檔案UAV_ROS.tar,拷貝到ubuntu中, 然後拷貝到/etc/ros/rosdep/下

cd~/ros
sudocp*/etc/ros/rosdep/

2. 編譯

1. 下載demo的解壓包hw_1,並解壓

tarzxvfhw_1.tar

2. 建立工作空間

Ctrl+alt+t,開啟終端,複製並逐條執行以下命令

mkdir-p~/catkin_ws/src
cd~/catkin_ws/src

之後將 hw_1/src 中的三個資料夾複製到/catkin_ws/src 路徑下:

cp~/hw_1/src/*~/catkin_ws/src-r
cd~/catkin_ws/src

繼續在終端執行命令:

catkin_init_workspace
cd~/catkin_ws/
catkin_make

成功!

宣告環境變數:

sourcedevel/setup.bash

3. 開啟 rviz

在終端執行命令

roscore

ctrl+shift+t,開啟新一頁終端,執行以下命令

rviz

顯示出 rviz 初始頁面

最終介面如下:

4. 開啟 rviz 配置檔案

滑鼠放在左上方,點選新增配置檔案(open Config),

配置檔案路徑為:

~/catkin_ws/src/grid_path_searcher/launch/rviz_config/demo.rviz

點選open,進入下面對話方塊:

點選save後,顯示如下畫面,此時因為還未執行程式,所以地圖沒有初始化,看不到點雲三維地 圖。

5. 執行程式,載入地圖

ctrl+shift+t,開啟新一頁終端,執行以下命令

cd~/catkin_ws
sourcedevel/setup.bash
roslaunchgrid_path_searcherdemo.launch

畫面切到 rivz,可以看到,程式自動載入了點雲地圖

成功!

文中提到的安裝包UAV_ROS.tar 、hw_1.tar,關注公眾號:一口Linux,後臺回覆ros,即可獲得。