ラズパイROSにroomba500ノードを入れてわかったこと
試作ラズパイROSにはすでにturtlebotがインストールされroombaをコントロールしていますが、細々した実験にはもっと軽いドライバがあった方がよいです。
そこで、最初の頃の実験に使っていたroomba500_light_nodeを持ち込むことにしました。
これはソースコードで提供され、rosbuildでビルドしてインストールするのですが、その作業でメモリ不足(Cannot allocate memory)が出てしまい、うまく行きません。よくよく考えてみると、作成したマイクロSDにはswap領域がなく、そのためのようです。ここに来てマイクロSDのパーティションをいじるのは、しくじるととてもがっかりすることになるので、ファイルを作成してswap領域として使うことにしました。
やり方はこうです。swapfileという256MBの領域をrootに確保し、それをスワップ領域として定義します。
$ sudo dd if=/dev/zero of=/swapfile bs=1024 count=256k # スワップ用のファイル作成
$ sudo mkswap /swapfile # 作成したファイルをスワップとして初期化
$ sudo swapon /swapfile # スワップを有効化
下記コマンドで確認します。swapfileがリストされればOKです。
$ swapon -s
このままだと再起動すると設定が無効になります。そこで下記のコマンドで /etc/fstabに記載しておきます。
$ sudo sh -c "echo '/swapfile swap swap defaults 0 0' >> /etc/fstab"
本題のroomba500ノードのインストールはこの投稿の手順で行います。ただし、メモリ不足にはなりませんが、これでも最終的にFAILがでます。しかし、ログを読むとドライバのビルドはできているようなので気にしないことにします。もちろん動作もOKです。
« turtlebotコンパチ機2号の設計コンセプト | トップページ | roombaの電源を見直す »
「ROSさんお手やわらかに」カテゴリの記事
- 3Dプリンターで作る簡単turtlebot(おしまい)(2017.01.07)
- 3Dプリンターで作る簡単turtlebot(raspberry pi3の取り付け)(2017.01.03)
- 3Dプリンターで作る簡単turtlebot(kinectの取り付け)(2017.01.02)
- 3Dプリンターで作る簡単turtlebot(パーツの組み立て2)(2016.12.29)
- 3Dプリンターで作る簡単turtlebot(パーツの組み立て1)(2016.12.25)
「ラズパイでROS」カテゴリの記事
- 3Dプリンターで作る簡単turtlebot(おしまい)(2017.01.07)
- 3Dプリンターで作る簡単turtlebot(raspberry pi3の取り付け)(2017.01.03)
- 3Dプリンターで作る簡単turtlebot(kinectの取り付け)(2017.01.02)
- 3Dプリンターで作る簡単turtlebot(パーツの組み立て2)(2016.12.29)
- 3Dプリンターで作る簡単turtlebot(パーツの組み立て1)(2016.12.25)
コメント