2014年6月15日日曜日

Jetson TK1がやってきた!〜ROS編〜


今回はJetson TK1にROSを導入していきましょう.
基本的にはROSのサイト(http://wiki.ros.org/indigo/Installation/Source)の手順で入ります.
ちょいちょい違うところがありますもでそのへん気をつけつつ.

ちなみにソースからコンパイルします(Installing from source).

全体的に時間かかります.とくにコンパイル.放置が良いかも笑
一応universeのリポジトリが使えるかの確認ということで
sudo apt-add-repository universe

all enable的なこと言われればおっけー.
で,ROSのリポジトリを追加します.

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list'
wget http://packages.ros.org/ros.key -O - | sudo apt-key add -

キーを入れたらリポジトリをアップデートします.

sudo apt-get update

ここからインストールに入ります.
まずはビルドに必要なものを入れます.

sudo apt-get install python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential

sudo rosdep init
rosdep update

catkinのワークスペースを作成してソースファイルをとってきます.

mkdir ~/ros_catkin_ws
cd ~/ros_catkin_ws
rosinstall_generator desktop_full --rosdistro indigo --deps --wet-only --tar > indigo-desktop-full-wet.rosinstall
wstool init -j4 src indigo-desktop-full-wet.rosinstall

ここで/ros_catkin_wsにsrcってディレクトリができてますが,コンパイルができないパッケージがいくつかあります.
コンパイルできないパッケージをゴミ箱へポイ!
捨てるパッケージは以下.そのうちインストールできるようになるかもしれないけど,とりあえずいらなそうだし捨てる!笑

gazebo_ros_pkg
metapackage/simulators
pcl_conversions
perception_pcl
roslisp
rviz
visualization_tutorial
rqt_robot_plugin/rqt_rviz
robot_model/collada_urdf
robot_model/collada_parser
image_pipeline/depth_image_proc

捨てたら↓のコマンドでディペンデンシー関係を一気にインストール.
rosdep install --from-paths src --ignore-src --rosdistro indigo -y -r

終わったらopt/ros/indigoにインストールしたいのでディレクトリを作ります.

sudo mkdir -p /opt/ros
sudo chmod a+w /opt/ros

で,コンパイルします.ここはかなり時間がかかります.

./src/catkin/bin/catkin_make_isolated —install —install-space /opt/ros/indigo

コンパイルが終わったらパスの設定.

echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
source ~/.bashrc

roscoreコマンドで動けばインストール完了!


パッケージ消さなくてもコンパイルできたよ!って人がいたら是非コメントください!!
ご教授願います!笑

以上ROSインストール編でした.

ではでは(・∀・)ノ

<おまけ>
IP固定するとインターネット繋がらん!的なのになったのでIP固定の方法を書いておきます.

sudo vim /etc/network/interfaces
中身はこんなかんじに(自分の環境に合わせて変更してください)
_____________________________
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.0.111
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.254
_____________________________

で,DNSの設定
sudo vim /etc/resolv.conf
中身は↓ 好きなDNSサーバを書く.
nameserver 8.8.8.8

でリスタート.これでブラウザからつながります.
sudo /etc/init.d/networking restart

下のようなコメントが出てきて,pingができないときの対処法.
Ping: icmp open socket: Operation not permitted

sudo chmod u+s /bin/ping
でおっけー.