スキップしてメイン コンテンツに移動

Aruco AR marker detector library (ROS noetic)


https://github.com/pal-robotics/aruco_ros

https://www.sciencedirect.com/science/article/abs/pii/S0031320314000235

hpc@hpc-ubuntu:~$ mkdir -p ~/catkin_aruco/src
hpc@hpc-ubuntu:~$ cd ~/catkin_aruco/
hpc@hpc-ubuntu:~/catkin_aruco$ cd src
hpc@hpc-ubuntu:~/catkin_aruco/src$ git clone https://github.com/pal-robotics/aruco_ros.git
Cloning into 'aruco_ros'...
remote: Enumerating objects: 1067, done.
remote: Counting objects: 100% (221/221), done.
remote: Compressing objects: 100% (75/75), done.
remote: Total 1067 (delta 151), reused 186 (delta 145), pack-reused 846
Receiving objects: 100% (1067/1067), 746.65 KiB | 2.28 MiB/s, done.
Resolving deltas: 100% (636/636), done.

hpc@hpc-ubuntu:~/catkin_aruco$ catkin_make
Base path: /home/hpc/catkin_aruco
Source space: /home/hpc/catkin_aruco/src
Build space: /home/hpc/catkin_aruco/build
Devel space: /home/hpc/catkin_aruco/devel
Install space: /home/hpc/catkin_aruco/install
Creating symlink "/home/hpc/catkin_aruco/src/CMakeLists.txt" pointing to "/opt/ros/noetic/share/catkin/cmake/toplevel.cmake"
####
#### Running command: "cmake /home/hpc/catkin_aruco/src -DCATKIN_DEVEL_PREFIX=/home/hpc/catkin_aruco/devel -DCMAKE_INSTALL_PREFIX=/home/hpc/catkin_aruco/install -G Unix Makefiles" in "/home/hpc/catkin_aruco/build"
####
-- The C compiler identification is GNU 9.4.0
-- The CXX compiler identification is GNU 9.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using CATKIN_DEVEL_PREFIX: /home/hpc/catkin_aruco/devel
-- Using CMAKE_PREFIX_PATH: /opt/ros/noetic
-- This workspace overlays: /opt/ros/noetic
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.8.10", minimum required is "3")
-- Using PYTHON_EXECUTABLE: /usr/bin/python3
-- Using Debian Python package layout
-- Found PY_em: /usr/lib/python3/dist-packages/em.py  
-- Using empy: /usr/lib/python3/dist-packages/em.py
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/hpc/catkin_aruco/build/test_results
-- Forcing gtest/gmock from source, though one was otherwise available.
-- Found gtest sources under '/usr/src/googletest': gtests will be built
-- Found gmock sources under '/usr/src/googletest': gmock will be built
-- Found PythonInterp: /usr/bin/python3 (found version "3.8.10")
-- Found Threads: TRUE  
-- Using Python nosetests: /usr/bin/nosetests3
-- catkin 0.8.10
-- BUILD_SHARED_LIBS is on
-- BUILD_SHARED_LIBS is on
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~  traversing 3 packages in topological order:
-- ~~  - aruco_msgs
-- ~~  - aruco
-- ~~  - aruco_ros
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- +++ processing catkin package: 'aruco_msgs'
-- ==> add_subdirectory(aruco_ros/aruco_msgs)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- aruco_msgs: 2 messages, 0 services
-- +++ processing catkin package: 'aruco'
-- ==> add_subdirectory(aruco_ros/aruco)
-- Found OpenCV: /usr (found suitable version "4.2.0", minimum required is "4.2.0")
-- +++ processing catkin package: 'aruco_ros'
-- ==> add_subdirectory(aruco_ros/aruco_ros)
-- Found OpenCV: /usr (found version "4.2.0")
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- Configuring done
-- Generating done
-- Build files have been written to: /home/hpc/catkin_aruco/build
####
#### Running command: "make -j14 -l14" in "/home/hpc/catkin_aruco/build"
####
Scanning dependencies of target std_msgs_generate_messages_eus
Scanning dependencies of target _aruco_msgs_generate_messages_check_deps_MarkerArray
Scanning dependencies of target _aruco_msgs_generate_messages_check_deps_Marker
Scanning dependencies of target std_msgs_generate_messages_py
Scanning dependencies of target geometry_msgs_generate_messages_eus
Scanning dependencies of target std_msgs_generate_messages_lisp
Scanning dependencies of target geometry_msgs_generate_messages_lisp
Scanning dependencies of target geometry_msgs_generate_messages_py
Scanning dependencies of target std_msgs_generate_messages_cpp
Scanning dependencies of target std_msgs_generate_messages_nodejs
Scanning dependencies of target geometry_msgs_generate_messages_cpp
Scanning dependencies of target aruco
Scanning dependencies of target geometry_msgs_generate_messages_nodejs
Scanning dependencies of target actionlib_generate_messages_eus
[  0%] Built target std_msgs_generate_messages_eus
[  0%] Built target std_msgs_generate_messages_py
[  0%] Built target geometry_msgs_generate_messages_py
[  0%] Built target geometry_msgs_generate_messages_lisp
[  0%] Built target geometry_msgs_generate_messages_eus
[  0%] Built target std_msgs_generate_messages_cpp
[  0%] Built target std_msgs_generate_messages_nodejs
[  0%] Built target actionlib_generate_messages_eus
[  0%] Built target geometry_msgs_generate_messages_cpp
[  0%] Built target geometry_msgs_generate_messages_nodejs
Scanning dependencies of target visualization_msgs_generate_messages_py
[  0%] Built target std_msgs_generate_messages_lisp
Scanning dependencies of target visualization_msgs_generate_messages_nodejs
Scanning dependencies of target aruco_ros_gencfg
Scanning dependencies of target visualization_msgs_generate_messages_lisp
Scanning dependencies of target visualization_msgs_generate_messages_eus
Scanning dependencies of target tf2_msgs_generate_messages_py
Scanning dependencies of target tf2_msgs_generate_messages_nodejs
Scanning dependencies of target tf2_msgs_generate_messages_lisp
[  0%] Built target visualization_msgs_generate_messages_py
Scanning dependencies of target actionlib_msgs_generate_messages_nodejs
[  2%] Generating dynamic reconfigure files from cfg/ArucoThreshold.cfg: /home/hpc/catkin_aruco/devel/include/aruco_ros/ArucoThresholdConfig.h /home/hpc/catkin_aruco/devel/lib/python3/dist-packages/aruco_ros/cfg/ArucoThresholdConfig.py
[  2%] Built target visualization_msgs_generate_messages_nodejs
Scanning dependencies of target actionlib_generate_messages_py
[  2%] Built target visualization_msgs_generate_messages_lisp
[  2%] Built target visualization_msgs_generate_messages_eus
Scanning dependencies of target actionlib_msgs_generate_messages_lisp
[  2%] Built target tf2_msgs_generate_messages_py
[  2%] Built target tf2_msgs_generate_messages_nodejs
[  2%] Built target tf2_msgs_generate_messages_lisp
Scanning dependencies of target actionlib_generate_messages_nodejs
[  2%] Built target actionlib_msgs_generate_messages_nodejs
[  2%] Built target actionlib_generate_messages_py
Scanning dependencies of target sensor_msgs_generate_messages_lisp
Scanning dependencies of target dynamic_reconfigure_generate_messages_eus
[  2%] Built target _aruco_msgs_generate_messages_check_deps_Marker
Scanning dependencies of target dynamic_reconfigure_gencfg
[  2%] Built target actionlib_msgs_generate_messages_lisp
[  2%] Built target _aruco_msgs_generate_messages_check_deps_MarkerArray
Scanning dependencies of target sensor_msgs_generate_messages_nodejs
Scanning dependencies of target dynamic_reconfigure_generate_messages_lisp
Scanning dependencies of target dynamic_reconfigure_generate_messages_py
[  2%] Built target actionlib_generate_messages_nodejs
Scanning dependencies of target sensor_msgs_generate_messages_py
Scanning dependencies of target rosgraph_msgs_generate_messages_py
Scanning dependencies of target dynamic_reconfigure_generate_messages_cpp
[  2%] Built target dynamic_reconfigure_generate_messages_eus
[  2%] Built target sensor_msgs_generate_messages_lisp
Scanning dependencies of target tf_generate_messages_lisp
[  2%] Built target dynamic_reconfigure_gencfg
Scanning dependencies of target roscpp_generate_messages_cpp
[  2%] Built target sensor_msgs_generate_messages_nodejs
[  2%] Built target dynamic_reconfigure_generate_messages_py
[  2%] Built target dynamic_reconfigure_generate_messages_lisp
Scanning dependencies of target sensor_msgs_generate_messages_eus
[  2%] Built target sensor_msgs_generate_messages_py
[  2%] Built target rosgraph_msgs_generate_messages_py
[  2%] Built target dynamic_reconfigure_generate_messages_cpp
Scanning dependencies of target roscpp_generate_messages_lisp
Scanning dependencies of target actionlib_generate_messages_lisp
[  2%] Built target tf_generate_messages_lisp
[  2%] Built target roscpp_generate_messages_cpp
Scanning dependencies of target tf2_msgs_generate_messages_eus
Scanning dependencies of target roscpp_generate_messages_eus
Scanning dependencies of target dynamic_reconfigure_generate_messages_nodejs
Scanning dependencies of target sensor_msgs_generate_messages_cpp
[  2%] Built target sensor_msgs_generate_messages_eus
Scanning dependencies of target roscpp_generate_messages_nodejs
[  2%] Built target roscpp_generate_messages_lisp
[  2%] Built target actionlib_generate_messages_lisp
Scanning dependencies of target rosgraph_msgs_generate_messages_cpp
[  2%] Built target tf2_msgs_generate_messages_eus
Scanning dependencies of target rosgraph_msgs_generate_messages_eus
[  2%] Built target roscpp_generate_messages_eus
Scanning dependencies of target tf_generate_messages_eus
Scanning dependencies of target tf2_msgs_generate_messages_cpp
[  2%] Built target sensor_msgs_generate_messages_cpp
[  2%] Built target dynamic_reconfigure_generate_messages_nodejs
Scanning dependencies of target roscpp_generate_messages_py
[  2%] Built target roscpp_generate_messages_nodejs
Scanning dependencies of target actionlib_msgs_generate_messages_eus
Scanning dependencies of target tf_generate_messages_py
Scanning dependencies of target rosgraph_msgs_generate_messages_lisp
[  2%] Built target rosgraph_msgs_generate_messages_cpp
[  2%] Built target rosgraph_msgs_generate_messages_eus
[  2%] Built target tf_generate_messages_eus
Scanning dependencies of target tf_generate_messages_cpp
[  2%] Built target tf2_msgs_generate_messages_cpp
Scanning dependencies of target actionlib_msgs_generate_messages_py
[  2%] Built target roscpp_generate_messages_py
Scanning dependencies of target rosgraph_msgs_generate_messages_nodejs
Scanning dependencies of target tf_generate_messages_nodejs
[  2%] Built target actionlib_msgs_generate_messages_eus
[  2%] Built target tf_generate_messages_py
[  2%] Built target rosgraph_msgs_generate_messages_lisp
Scanning dependencies of target actionlib_generate_messages_cpp
Scanning dependencies of target visualization_msgs_generate_messages_cpp
[  2%] Built target tf_generate_messages_cpp
Scanning dependencies of target actionlib_msgs_generate_messages_cpp
Scanning dependencies of target aruco_msgs_generate_messages_eus
[  2%] Built target actionlib_msgs_generate_messages_py
Generating reconfiguration files for ArucoThreshold in aruco_ros
Scanning dependencies of target aruco_msgs_generate_messages_py
[  2%] Built target rosgraph_msgs_generate_messages_nodejs
Wrote header file in /home/hpc/catkin_aruco/devel/include/aruco_ros/ArucoThresholdConfig.h
[  2%] Built target tf_generate_messages_nodejs
Scanning dependencies of target aruco_msgs_generate_messages_lisp
Scanning dependencies of target aruco_msgs_generate_messages_nodejs
Scanning dependencies of target aruco_msgs_generate_messages_cpp
[  2%] Built target actionlib_generate_messages_cpp
[  2%] Built target actionlib_msgs_generate_messages_cpp
[  2%] Built target visualization_msgs_generate_messages_cpp
[  8%] Generating EusLisp code from aruco_msgs/MarkerArray.msg
[  8%] Generating EusLisp code from aruco_msgs/Marker.msg
[ 10%] Generating EusLisp manifest code for aruco_msgs
[ 13%] Generating Python from MSG aruco_msgs/Marker
[ 16%] Generating Python from MSG aruco_msgs/MarkerArray
[ 29%] Generating C++ code from aruco_msgs/Marker.msg
[ 29%] Generating Lisp code from aruco_msgs/MarkerArray.msg
[ 29%] Generating Javascript code from aruco_msgs/Marker.msg
[ 29%] Generating C++ code from aruco_msgs/MarkerArray.msg
[ 29%] Generating Javascript code from aruco_msgs/MarkerArray.msg
[ 32%] Generating Lisp code from aruco_msgs/Marker.msg
[ 32%] Built target aruco_ros_gencfg
[ 35%] Building CXX object aruco_ros/aruco/CMakeFiles/aruco.dir/src/aruco/debug.cpp.o
[ 37%] Building CXX object aruco_ros/aruco/CMakeFiles/aruco.dir/src/aruco/cvdrawingutils.cpp.o
[ 43%] Building CXX object aruco_ros/aruco/CMakeFiles/aruco.dir/src/aruco/dictionary.cpp.o
[ 43%] Building CXX object aruco_ros/aruco/CMakeFiles/aruco.dir/src/aruco/ippe.cpp.o
[ 43%] Built target aruco_msgs_generate_messages_lisp
[ 45%] Building CXX object aruco_ros/aruco/CMakeFiles/aruco.dir/src/aruco/cameraparameters.cpp.o
[ 48%] Building CXX object aruco_ros/aruco/CMakeFiles/aruco.dir/src/aruco/marker.cpp.o
[ 54%] Building CXX object aruco_ros/aruco/CMakeFiles/aruco.dir/src/aruco/markerdetector.cpp.o
[ 54%] Building CXX object aruco_ros/aruco/CMakeFiles/aruco.dir/src/aruco/markerlabeler.cpp.o
[ 54%] Built target aruco_msgs_generate_messages_nodejs
[ 56%] Building CXX object aruco_ros/aruco/CMakeFiles/aruco.dir/src/aruco/markermap.cpp.o
[ 59%] Building CXX object aruco_ros/aruco/CMakeFiles/aruco.dir/src/aruco/posetracker.cpp.o
[ 59%] Built target aruco_msgs_generate_messages_cpp
[ 62%] Building CXX object aruco_ros/aruco/CMakeFiles/aruco.dir/src/aruco/markerlabelers/dictionary_based.cpp.o
[ 64%] Building CXX object aruco_ros/aruco/CMakeFiles/aruco.dir/src/aruco/markerlabelers/svmmarkers.cpp.o
[ 67%] Generating Python msg __init__.py for aruco_msgs
[ 67%] Built target aruco_msgs_generate_messages_py
[ 67%] Built target aruco_msgs_generate_messages_eus
Scanning dependencies of target aruco_msgs_generate_messages
[ 67%] Built target aruco_msgs_generate_messages
[ 70%] Linking CXX shared library /home/hpc/catkin_aruco/devel/lib/libaruco.so
[ 70%] Built target aruco
Scanning dependencies of target double
Scanning dependencies of target marker_publisher
Scanning dependencies of target aruco_ros_utils
Scanning dependencies of target single
[ 72%] Building CXX object aruco_ros/aruco_ros/CMakeFiles/aruco_ros_utils.dir/src/aruco_ros_utils.cpp.o
[ 75%] Building CXX object aruco_ros/aruco_ros/CMakeFiles/single.dir/src/simple_single.cpp.o
[ 78%] Building CXX object aruco_ros/aruco_ros/CMakeFiles/single.dir/src/aruco_ros_utils.cpp.o
[ 81%] Building CXX object aruco_ros/aruco_ros/CMakeFiles/marker_publisher.dir/src/marker_publish.cpp.o
[ 83%] Building CXX object aruco_ros/aruco_ros/CMakeFiles/marker_publisher.dir/src/aruco_ros_utils.cpp.o
[ 86%] Building CXX object aruco_ros/aruco_ros/CMakeFiles/double.dir/src/aruco_ros_utils.cpp.o
[ 89%] Building CXX object aruco_ros/aruco_ros/CMakeFiles/double.dir/src/simple_double.cpp.o
[ 91%] Linking CXX shared library /home/hpc/catkin_aruco/devel/lib/libaruco_ros_utils.so
[ 91%] Built target aruco_ros_utils
[ 94%] Linking CXX executable /home/hpc/catkin_aruco/devel/lib/aruco_ros/marker_publisher
[ 97%] Linking CXX executable /home/hpc/catkin_aruco/devel/lib/aruco_ros/double
[ 97%] Built target marker_publisher
[ 97%] Built target double
[100%] Linking CXX executable /home/hpc/catkin_aruco/devel/lib/aruco_ros/single
[100%] Built target single

 

# launch camera(intel realsense D455)

hpc@hpc-ubuntu:~$ roslaunch realsense2_camera rs_camera.launch  

hpc@hpc-ubuntu:~/catkin_aruco$ rostopic list
/camera/color/camera_info
/camera/color/image_raw
/camera/color/image_raw/compressed
/camera/color/image_raw/compressed/parameter_descriptions
/camera/color/image_raw/compressed/parameter_updates
/camera/color/image_raw/compressedDepth
/camera/color/image_raw/compressedDepth/parameter_descriptions
/camera/color/image_raw/compressedDepth/parameter_updates
/camera/color/image_raw/theora
/camera/color/image_raw/theora/parameter_descriptions
/camera/color/image_raw/theora/parameter_updates
/camera/color/metadata
/camera/depth/camera_info
/camera/depth/image_rect_raw
/camera/depth/image_rect_raw/compressed
/camera/depth/image_rect_raw/compressed/parameter_descriptions
/camera/depth/image_rect_raw/compressed/parameter_updates
/camera/depth/image_rect_raw/compressedDepth
/camera/depth/image_rect_raw/compressedDepth/parameter_descriptions
/camera/depth/image_rect_raw/compressedDepth/parameter_updates
/camera/depth/image_rect_raw/theora
/camera/depth/image_rect_raw/theora/parameter_descriptions
/camera/depth/image_rect_raw/theora/parameter_updates
/camera/depth/metadata
/camera/extrinsics/depth_to_color
/camera/motion_module/parameter_descriptions
/camera/motion_module/parameter_updates
/camera/realsense2_camera_manager/bond
/camera/rgb_camera/auto_exposure_roi/parameter_descriptions
/camera/rgb_camera/auto_exposure_roi/parameter_updates
/camera/rgb_camera/parameter_descriptions
/camera/rgb_camera/parameter_updates
/camera/stereo_module/auto_exposure_roi/parameter_descriptions
/camera/stereo_module/auto_exposure_roi/parameter_updates
/camera/stereo_module/parameter_descriptions
/camera/stereo_module/parameter_updates
/diagnostics
/rosout
/rosout_agg
/tf
/tf_static

# change launch file (aruco_ros/launch/single.launch)

<launch>

<arg name="markerId" default="23"/>
<arg name="markerSize" default="0.30"/> <!-- in m -->
<arg name="eye" default="left"/>
<arg name="marker_frame" default="aruco_marker_frame"/>
<arg name="ref_frame" default=""/> <!-- leave empty and the pose will be published wrt param parent_name -->
<arg name="corner_refinement" default="LINES" /> <!-- NONE, HARRIS, LINES, SUBPIX -->


<node pkg="aruco_ros" type="single" name="aruco_single">
<!--remap from="/camera_info" to="/stereo/$(arg eye)/camera_info" /-->
<!--remap from="/image" to="/stereo/$(arg eye)/image_rect_color" /-->
<remap from="/camera_info" to="/camera/color/camera_info" />
<remap from="/image" to="/camera/color/image_raw" />
<param name="image_is_rectified" value="True"/>
<param name="marker_size" value="$(arg markerSize)"/>
<param name="marker_id" value="$(arg markerId)"/>
<param name="reference_frame" value="$(arg ref_frame)"/> <!-- frame in which the marker pose will be refered -->
<param name="camera_frame" value="stereo_gazebo_$(arg eye)_camera_optical_frame"/>
<param name="marker_frame" value="$(arg marker_frame)" />
<param name="corner_refinement" value="$(arg corner_refinement)" />
</node>

</launch>

 

# launch aruco ros

hpc@hpc-ubuntu:~/catkin_aruco$ source devel/setup.bash

hpc@hpc-ubuntu:~/catkin_aruco$ roslaunch aruco_ros single.launch
... logging to /home/hpc/.ros/log/0e4a878c-4087-11ed-8f77-853331e88fb6/roslaunch-hpc-ubuntu-18058.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://hpc-ubuntu:45085/

SUMMARY
========

PARAMETERS
 * /aruco_single/camera_frame: stereo_gazebo_lef...
 * /aruco_single/corner_refinement: LINES
 * /aruco_single/image_is_rectified: True
 * /aruco_single/marker_frame: aruco_marker_frame
 * /aruco_single/marker_id: 23
 * /aruco_single/marker_size: 0.3
 * /aruco_single/reference_frame:
 * /rosdistro: noetic
 * /rosversion: 1.15.14

NODES
  /
    aruco_single (aruco_ros/single)

ROS_MASTER_URI=http://localhost:11311

process[aruco_single-1]: started with pid [18076]
[ WARN] [1664518695.506888963]: Corner refinement options have been removed in ArUco 3.0.0, corner_refinement ROS parameter is deprecated
[ WARN] [1664518695.625301216]: normalizeImageIllumination is unimplemented!




コメント

このブログの人気の投稿

[참고] ROS kinetic에서 WebCam 사용하기 (Ubuntu 16.04)

Reference: 1. https://github.com/bosch-ros-pkg/usb_cam/issues/53  2. http://zumashi.blogspot.jp/2016/12/ros-kinetic-usb-cam.html  3. http://cafe.naver.com/openrt/5963 위의 사이트들을 참고하여 ROS Kinetic에서 Logitech WebCam C270의 동작을 확인했습니다. $ cd ~/catkin_ws/src $ git clone https://github.com/bosch-ros-pkg/usb-cam.git $ cd .. $ catkin_make WebCam test $ roscore $ rosrun usb_cam usb_cam_node $ rosrun image_view image_view image:=/usb_cam/image_raw $ rosrun rviz rviz 1) By display type>rviz>image 2) Image topic: /usb_cam/image_raw --> 왼쪽 하단과 같이 WebCam이 잘 동작하는 것을 확인했습니다.

[vscode] TImeout waiting for debugger connection

이제까지 잘 동작하던 비주얼 스튜디오 코드가 위와 같은 에러 메세지를 내면서 갑자기 디버깅이 안되서 인터넷을 검색한 결과.. vscode의 User Setting에서 검색창에 python.terminal.activateEnvironment을 입력하여 true로 설정되어 있는 값을 false로 변환하면 된다. 

Anaconda을 이용하여 ROS + Tensorflow 함께 사용하기

-- CUDA, cuDNN 버전확인 https://stackoverflow.com/questions/41714757/how-to-find-cuda-version-in-ubuntu/42122965 $ nvcc --version cuda8.0, cudnn6.0 -- 아나콘다 python2.7 버전 인스톨 https://www.anaconda.com/download/#linux python3.x이랑 ROS 같이 써보려고 했는데, 아직 실력이 부족해서 그런지 실패.. $ bash Anaconda2-5.3.0-Linux-x86_64.sh $ source ~/.bashrc $ python -V Python 2.7.15 :: Anaconda, Inc. $ conda create -n tf14 pip python=2.7 $ source activate tf14 -- ROS 관련 패키지 인스톨 (tf14) $ pip install --upgrade pip (tf14) $ pip install -U rosinstall msgpack empy defusedxml netifaces --CUDA, cuDNN, CPU/GPU을 사양에 맞춰서 tensorflow download https://github.com/mind/wheels#mkl (tf14) $ pip install tensorflow-1.4.0-cp27-cp27mu-linux_x86_64.whl 잘 설치가 되었는지 Hello, tensorflow 실행 (tf14) $ python Python 2.7.15 |Anaconda, Inc.| (default, May  1 2018, 23:32:55) [GCC 7.2.0] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> i