1. 程式人生 > >ubuntu 16.04 ROS + kinect v2 driver安裝方法;安裝驅動時遇到的問題及解決方法(1)

ubuntu 16.04 ROS + kinect v2 driver安裝方法;安裝驅動時遇到的問題及解決方法(1)

安裝ROS (Kinetic)

ROS Kinetic ONLY supports Wily (Ubuntu 15.10), Xenial (Ubuntu 16.04) and Jessie (Debian 8) for debian packages.

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
sudo apt-get update
sudo apt-get install ros-kinetic-desktop-full
sudo rosdep init
rosdep update
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
####################關於"hardware_interface"
#####關於controller_manager
sudo apt-get install ros-kinetic-effort-controllers
sudo apt-get install ros-kinetic-joint-state-controller
sudo apt-get install ros-kinetic-ros-control ros-kinetic-ros-controllers

###################與Python相容問題
conda install setuptools  
pip install -U rosdep rosinstall_generator wstool rosinstall six vcstools  

##########install moveit
sudo apt-get install ros-kinetic-moveit
source /opt/ros/kinetic/setup/bash

##################No module named em 的問題
pip install empy

###################defusedxml.xmlrpc
conda install -c conda-forge defusedxml
mkdir -p ~/catkin_ws/src  
cd ~/catkin_ws/src  
catkin_init_workspace  
cd ..  
catkin_make  
開啟新的終端,執行ROS核心  roscore
開啟新的終端,執行小海龜介面

rosrun turtlesim turtlesim_node
開啟新的終端,執行鍵盤控制程式

rosrun turtle_teleop turtle_teleop_key
如果提示找不到key,可以試下以下兩句

roscd turtle_teleop

roslaunch launch/turtle_keyboard.launch

安裝libfreenect2

安裝該部分時,已經安裝好CUDA和k40c GPU驅動

git clone https://github.com/OpenKinect/libfreenect2.git
cd libfreenect2
sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libusb-1.0-0-dev
sudo apt-get install libturbojpeg libjpeg-turbo8-dev
sudo apt-get install libglfw3-dev
sudo apt-get install libopenni2-dev
cd ..
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2
make
make install

針對上面cmake命令的說明, 第一個引數, 是特別指定安裝的位置, 你也可以指定別的你覺得高興的地方, 但一般標準的路徑是上述示例路徑或者/usr/local。 第二個引數是增加C++11的支援。

設定udev rules:

sudo cp ../platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/

然後重新插拔Kinect2.

一切搞定, 現在可以嘗試執行Demo程式: ./bin/Protonect, 不出意外, 應該能夠看到如下效果:

DEMO

安裝iai-kinect2

利用命令列從Github上面下載工程原始碼到工作空間內src資料夾內:

cd ~/catkin_ws/src/
git clone https://github.com/code-iai/iai_kinect2.git
cd iai_kinect2
rosdep install -r --from-paths .
cd ~/catkin_ws
catkin_make -DCMAKE_BUILD_TYPE="Release"

針對於上述命令中最後一行指令, 需要說明的是, 如果前面libfreenect2你安裝的位置不是標準的兩個路徑下, 需要提供引數指定libfreenect2所在路徑:

catkin_make -Dfreenect2_DIR=path_to_freenect2/lib/cmake/freenect2 -DCMAKE_BUILD_TYPE="Release"

編譯結束, 一切OK的話, 會看到如下提示:

這裡寫圖片描述

最後就是激動人心的時刻了, 在ROS中獲取Kinect2的資料。
PS: 很多同學在執行下屬命令時,時常會遇到不能執行的問題,大部分情況是沒有source對應的目錄。應該先執行

gedit ~/.bashrc
source ~/catkin_ws/devel/setup.bash

若對應已經寫入~/.bashrc檔案的同學,可以忽略。

roslaunch kinect2_bridge kinect2_bridge.launch

這裡寫圖片描述

使用roslaunch發起kinect2相關節點, 可以看到如下結果, 在另外一個命令列中, 輸入rostopic list, 可以檢視到該節點發布出來的Topic,

還可以輸入

rosrun kinect2_viewer kinect2_viewer sd cloud

來開啟一個Viewer檢視資料。 結果如下圖所示:

這裡寫圖片描述

安裝過程中遇到的問題:

問題1.

執行 roslaunch kinect2_bridge kinect2_bridge.launch 時一直出現:

[kinect2_bridge.launch] is neither a launch file in package [kinect2_bridge] nor is [kinect2_bridge] a launch file name
The traceback for the exception was written to the log file

或者執行: rosrun kinect2_viewer kinect2_viewer sd cloud 時找不到 kinect2_viewer
這是配置環境變數時導致的,需要在 ~/.bashrc 中新增路徑:
gedit ~/.bashrc
然後在開啟的檔案最後行新增: source /home/wgb/catkin_ws/devel/setup.bash
新增後的部分檔案內容:



# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

# added by Anaconda3 4.4.0 installer
export PATH="/home/wgb/anaconda3/bin:$PATH"
source /opt/ros/kinetic/setup.bash
source /home/wgb/catkin_ws/devel/setup.bash
source /opt/ros/kinetic/setup.bash
source /opt/ros/kinetic/setup.bash
source /opt/ros/kinetic/setup.bash
source /opt/ros/kinetic/setup.bash
source /opt/ros/kinetic/setup.bash
source /home/wgb/catkin_ws/devel/setup.bash

問題2.