ubuntu 16.04 ROS + kinect v2 driver安裝方法;安裝驅動時遇到的問題及解決方法(1)
阿新 • • 發佈:2019-01-10
安裝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_teleoproslaunch 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
, 不出意外, 應該能夠看到如下效果:
安裝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 nameThe 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.