りさーちゃーのひよこ
技術のこととか
2015年7月31日金曜日
Ubuntu 14.04 上のROS (Indigo) でRoombaを制御してみる
#はじめに 最近のロボット屋さんのトレンドとして,ROSが挙げられます.<br /> 私もとても強い興味を持っていたのですが,なかなか腰を据えて勉強できていませんでした.<br /> そんなときに発売された,「<a href="https://www.kohgakusha.co.jp/books/detail/978-4-7775-1901-9" target="_blank" title="">ROSではじめる ロボットプログラミング</a>」の本!キタコレ!<br /> <br /> ということで,読破しました.素晴らしい書籍です.かなり丁寧に解説されているので,よどみなく読破できました.<br /> で,この本で学んだことをベースにPS3コントローラでRoombaを制御しました.<br /> <br /> Roombaの制御のところはちょっと忘れちゃいそうなのでメモを残しておこうと,そういうことです.<br /> 参考にさせていただいたのは,下記のサイトです.感謝です.<br /> <a href="http://cyberworks.cocolog-nifty.com/blog/2013/04/roombapython-bb.html" target="_blank" title="">roombaをROSのコマンドで動かしてみる</a><br /> <a href="https://www.blogger.com/null"></a><a href="http://daikimaekawa.github.io/ros/2013/08/25/RoombaTutorial/" target="_blank" title="">RoombaのROSドライバをソースからビルドして使ってみる</a><br /> #Roombaドライバのインストール ##ダウンロード 次のサイトからドライバをダウンロードします.<br /> http://arkapravo.github.io/roomba_500_ROS_drivers/ ##格納 次のフォルダに展開します<br /> ~/catkin_ws/src/roomba_500_ROS_drivers<br /> <br /> ##インストール ダウンロードで参照したサイトに従ってインストールします.<br /> <pre class="brush: bash;"> $ rosmake cereal_port $ rosmake roomba_500_series </pre> #動作 ##接続確認 PCとルンバをシリアルケーブルで接続します.<br /> 上記サイトに従ってUSBシリアル通信を確認します.<br /> <pre class="brush: bash;"> dmsg | grep tty </pre> もし繋がっていなければ,下記コマンドでアクセス権を取得する.<br /> <pre class="brush: bash;"> sudo chmod a+rw /dev/ttyUSB0 </pre> ##ノード起動 当方には`roomba521`があるので,下記コマンドを実行する.<br /> <pre class="brush: bash;"> $ rosrun roomba_500_series roomba500_light_node </pre> ##速度指令トピックに指令値をパブリッシュ<br /> roomba500_light_nodeの速度指令トピック名:cmd_vel<br /> 同じく型:geometry_msgs/Twist<br /> <pre class="brush: bash;"> $ rostopic pub -1 cmd_vel geometry_msgs/Twist '[0, 0, 0]' '[0, 0, 0.1]' && rostopic pub -1 cmd_vel geometry_msgs/Twist '[0, 0, 0]' '[0, 0, 0]' </pre> これで旋回するはずです. #おわりに あとは,好きなノードでcmd_velにパブリッシュしてしまえばよいわけです.<br /> 私はとりあえずPS3無線コントローラで動かして遊んでみました.<br /> https://youtu.be/JM5vpHZsusA 次は画像処理ライブラリ作成だな.
2015年7月18日土曜日
Vim でノーマルモード移行時に自動で英数入力に切り替える
#はじめに Vimで挿入モード中に日本語で入力が終わり、ノーマルモードに移行したあとに日本語入力が引き継がれていてアボーンはよくある話だろう。<br /> 単純に、ノーマルモード移行時に必ずIMEオフにしてくれるような.vimrc の設定を探したが、Ubuntuではない!<br /> <br /> ということで、スクリプトを書いて対策している方のブログを参考にやってみました。<br /> #手順 <a href="http://d.hatena.ne.jp/yuta84q/20090205/1233843890" target="_blank" title="">Vimで強制的にIMをオフにする @Ubuntu</a><br /> 概ね、この通りです。<br /> ただし、私の環境ではIMシステムが違うのと、ホットキー設定の方法が記載されていないので、ちと補足。<br /> ##IMの設定 - 検索→システム設定→言語サポート→キーボード入力に使うIMシステム→fctix を選択 - その後OSを再起動 ##ホットキー(IMEオフ)の設定 - OSツールバー右上のキーボードのマークをクリック→入力メソッド→Mozcを選択<br /> - 再度キーボードマークをクリック→現在の入力メソッドの設定→全体の設定→下方の<span style="color: red;">「拡張オプションの表示」を選択</span>→入力メソッドをオフにでCtrl+Shift+Space に指定する。<br /> - 実は、これで相当ハマった。調べてもみんな当たり前のように設定しているのだが、私にはどのウィンドウを開けばいいのかさっぱりで相当試行錯誤した…。 これだけやっておけば、確かにノーマルモード移行時にIMがオフになったことを確認した。 #終わりに 本質的ではないところで、また無意味にハマった。おかげでVimでのスクリプト記述方法がわかったので、よしとしておく。<br />
2015年7月12日日曜日
BibTex 文献スタイルファイル(.bst)をいじってみる
#はじめに BibTexが使えるようになり、意気揚々と文献を追加していた、、、その時!<br /> BibTexに移行してから、文献リストの書式が学会指定のスタイルと一致しない。<br /> それもそのはず。<br /> 学会が提供している文献フォーマットは、Texのスタイルファイル(.sty)で定義されているが、<br /> BIbTexのスタイルは専用のスタイルファイル(.bst)で定義されるため、(.sty)のスタイルなど<br /> しったこっちゃないのである。<br /> <br /> じゃあ、bstファイルを自分で変えてやろうじゃねーかと思っていろいろ調べたが、<br /> とんでもなくハードルが高い。文法に関する情報もないし、編集に関する情報も試行錯誤のものが多い。<br /> 自分で開拓するコストがあまりにも高い。<br /> <br /> それなら、世の中で誰かが公開されている学会のbstファイルをもらえばいいや!<br /> と思いきや、今回投稿する学会のファイルは誰も公開していない…。<br /> <br /> ではでは、今回の学会のフォーマットに一番近いフォーマットのファイルを入手し、<br /> 微調整することにしよう!<br /> これが功を奏した。一体こんな設定に何日苦戦していることか…。 #ベースbstファイルの選定 BIbTex のスタイルのプレビューが見られる素晴らしいサイトを発見。<br /> ここからよさ気なものを見繕う。<br /> <a href="http://www.okomeda.net/?%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E3%83%AC%E3%82%A4%E3%82%A2%E3%82%A6%E3%83%88%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB" target="_blank" title="">スタイルファイルのレイアウトサンプル</a><br /> <br /> 今回の学会に一番近いのは、tieice.bst (電子情報通信学会)のよう。<br /> #ベースbstファイルのコピー jBibTex が入って入ればデフォルトで格納されるっぽい。<br /> /usr/share/texmf/jbibtex/bst/tieice.bst<br /> これを自分の投稿する学会のtexファイルが格納されているフォルダにコピー。 #bstファイルの編集 いくつかサイトを参考にしながらやりました。<br /> <a href="http://www.okomeda.net/?bst%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA" target="_blank" title="">bst ファイルのカスタマイズ</a><br /> <a href="http://kichiku-kikuchi.hatenablog.com/entry/2015/03/16/231806" target="_blank" title="">BibTeXの使い方/参考文献の形式を変更するお(bstファイルの編集)</a><br /> <br /> 例えば、私がやりたかったことは - 変更前:<span style="color: red;">文献名を "" をくくる</span> - 変更後:<span style="color: blue;">文献名を"" でくくらない</span> だとすると、文献名のスタイルに該当する場所を片っ端から変えればよいはずです。 titleで検索してヒットした場所を下記にように修正。<br /> -----------------------------------------------------------------<br /> 378 FUNCTION {format.title}<br /> 379 <br /> 380 { after.author 'output.state :=<br /> 381 title empty$<br /> 382 <br /> 383 { "" }<br /> 384 <br /> 385 <br /> <span style="color: red;"> 386 { "\`\`" title "t" change.case$ * "''" * }</span><br /> → <span style="color: blue;"> { title }</span><br /> 387 <br /> 388 <br /> 389 if$<br /> 390 }<br /> -----------------------------------------------------------------<br /> 430 FUNCTION {format.btitle}<br /> 431 <br /> 432 {after.author 'output.state :=<br /> 433 <br /> <span style="color: red;"> 434 "``" title * "''" *</span><br /> →<span style="color: blue;"> title</span><br /> 435 <br /> 436 }<br /> -----------------------------------------------------------------<br /> <br /> そしてコンパイル。見事所望のスタイルになりましたとさ。 #終わりに BibTex には何度か躓いている。新しいものもあるらしいが、もはやBibTexが普及しすぎているようでこの流れは変えられないのでしょう。<br /> とにもかくにも、なんとなく環境が整って、今度こそ本当に論文執筆に取り掛かれそう。<br />
2015年7月11日土曜日
BibTex を導入してみる
#はじめに 論文をLaTexで書くにあたり、色々と環境設定をしている。<br /> そこで、参考文献のデータベースBibTexを導入しておこうと思ったら、意外とはまったので備忘録にしておく。<br /> 一度作ってしまえば未来永劫使える仕組みは、ちょっと時間かかっても仕方がないと思う。<br /> #事前準備 ミソは、文献スタイルファイル(*.bst)と文献データベース(以下文献DB)ファイル(*.bib)を使える状態にすること。<br /> 何も知らずに本やWebの通り設定しても、パスが通っていないとうまくいかないよう。<br /> Webはともかく、本はその辺の含めて書いてほしいものだ…。 ##環境変数にパスを追加<br /> 今後の全ての論文で共通で使える文献DBのフォルダを作りたいので、準備をしておく。<br /> ~/.bashrc に以下を追加<br /> export BIBINPUTS=$BIBINPUTS:/usr/share/texmf/jbibtex/bib:~/research/paper/bibtexDB<br /> export BSTINPUTS=$BSTINPUTS:/usr/share/texmf/jbibtex/bst<br /> /usr/share/texmf はLaTexのインストール先だとか。ユーザを超えて共通で設定したいものはここへ。<br /> ~/research/paper/bibtexDB 自分で任意で作る文献DB格納先。自分だけが使うならここ。基本はここで作業する。 ##文献DBを作成する<br /> ~/research/paper/bibtexDB/reference.bib を作る。<br /> フォーマット等は検索すれば出てくるので、そちらにお任せする。<br /> <br /> #論文への反映 ##test.tex の本文を書く \documentclass{jsarticle}<br /> \begin{document}<br /> 文献-\cite{xxx}. % reference.bib で登録したラベルを参照<br /> 文献-\cite[yyy} <br /> \bibliographystyle{jplain} % 文献番号の書式。$BSTINPUTS のパスが通ってないとエラー。<br /> \bibliography{reference} % ここで文献DB 名 reference を入れる。拡張子は不要。$BIBINPUTS のパスが通ってないとエラー。<br /> \end{document} ##コンパイルする<br /> bibtex データベースに変更が加えられたら、コマンドを4回実行しないといけない。<br /> これはめんどくさいが、文献リストを論文執筆毎に繰り返し作るよりはずっと手間は少ないだろう。<br /> <br /> test.tex のあるディレクトリに移動<br /> platex test<br /> → 不完全なtest.aux ができる。<br /> pbibtex test<br /> → test.bbl ができる。<br /> platex test<br /> → 参照リストが完成した test.aux ができる。参照リスト不完全のtest.dvi ができる。<br /> platex test<br /> → 参照リストが感染した test.dvi ができる。<br /> <br /> #終わりに 無知な私はまた今日もハマってしまった。<br /> これでようやく論文執筆に取り掛かれる。<br />
2015年7月7日火曜日
Vimを導入してみる
#はじめに 社会人博士として初めての論文執筆にとりかかる。そこで悩む。<br /> エディタ、なんにしよ???<br /> <br /> 手が完全にWindowsに慣れてるから、Windowsにしようかなー。<br /> それとも、せっかくUbuntuでROSプログラミングするんだから、Emacsにしようかな。<br /> <br /> とか悩んでいると、Vimが目に止まる。少々癖は強いが、一度慣れれば中毒になるほど快適との噂。<br /> 自分はEmacsのキーバインドがどうも苦手なので、この際Vimmerを目指してみることにした。<br /> なんか、単純に面白そうだし。<br /> <br /> ということで、Vimをインストールして色設定まで念の為まとめておく。<br /> <br /> こちらが参考になりました。<br /> <a href="http://keitetsu.blogspot.jp/2014/10/ubuntuvim-molokai.html" target="_blank" title="">Ubuntuにvimをインストール & カラースキーマ「molokai」の適用 </a> #Vimのインストール <pre class="brush: bash;"> sudo apt-get install vim-gnome vim --version </pre> #Vim 設定 こちらがわかりやすい。<br /> <a href="http://oshiete.goo.ne.jp/qa/8031833.html" target="_blank" title="">vimのカラースキーマ変更方法について</a><br /> <pre class="brush: bash;"> $ pwd (自分のホームディレクトリであることを確認) /home/ユーザ名 $ mkdir .vim $ mkdir .vim/colors </pre> に、gitから入手した molokai.vim を突っ込む。<br /> <pre class="brush: bash;"> vim ~/.vimrc </pre> で設定ファイルを作成し、<a href="http://keitetsu.blogspot.jp/2014/10/ubuntuvim-molokai.html" target="_blank" title="">冒頭のサイト</a>を参考に設定ファイルを作成する。<br /> <br /> Vimでexモードにして、<br /> :colo molokai<br /> を入力すれば、ほら綺麗になった!<br /> <br /> <a class="detailOn" href="http://blog-imgs-86.fc2.com/m/o/r/morimoridiary254/blog_import_568b66e3e002c.png" id="i13359394329"><img alt="vim設定ファイル" src="http://blog-imgs-86.fc2.com/m/o/r/morimoridiary254/blog_import_568b66e3e002c.png" id="1436269687258" ratio="1.2035087719298245" style="border: medium none; height: 249.271px; width: 300px;" /></a><br /> #終わりに これで前に進める。<br />わけだが、果たしてこんなに癖の強いエディタを使えるようになるのだろうか。<br />相当苦戦しているのだが…。<br /> 使いこなせる日を楽しみに、しばらくこいつと戦おうと思う、<br />
2015年7月4日土曜日
自宅Linuxサーバを構築してみる(11.2.GitBucket 設定変更)
#はじめに <a href="https://www.blogger.com/null"></a><a href="http://ameblo.jp/morimoridiary/entry-12028647182.html" target="_blank" title="">自宅Linuxサーバを構築してみる(11.GitBucket の導入)</a> にて行った設定方法だと、問題が起こった。<br /> あの設定に従うと、Tomcatのアドレスがhttp:/[IPアドレス] になるので、<br /> gitbucketのURLも http:/[IPアドレス]/gitbucket と短縮できるのだが、<br /> さすると<a href="https://www.blogger.com/null"></a><a href="http://ameblo.jp/morimoridiary/entry-11934424685.html" target="_blank" title="">以前導入したMediaWiki</a>と干渉し、http/[IPアドレス]/MediaWiki でエラーとなる。<br /> <br /> MediaWiki はTomcatで動くものではないのですね。<br /> この辺りを全く理解せずに導入している私も悪いのですが、さすがにMediaWikiを犠牲にしたくないわけです。<br /> 研究で一旦区切りの付くアウトプットを出せたので、今のうちに試行錯誤でGitBucket とMediaWiki 両立環境にしようと思う(またこんなことを。)<br /> #時間を戻す 取りあえず、変えた設定ファイルを元に戻していく笑<br /> 1.<br /> <pre class="brush: bash;"> vi /etc/httpd/conf.d/proxy_ajp.conf </pre> 内を全てコメントアウト。この子がすべてのリクエストをTomcatに送る設定に変えてしまっていたよう。これだと普通のHTMLが動かなくなってしまうようなので、私の実現したい環境とは親和性が低かったのですね。私の調査不足。<br /> <br /> 2.<br /> <pre class="brush: bash;"> vi /usr/local/tomcat/conf/server.xml </pre> <div style="background-color: white; color: #454545; font-family: 'Helvetica Neue', Helvetica, Arial, 'Hiragino Kaku Gothic Pro', Meiryo, 'MS PGothic', sans-serif; font-size: 15.1999998092651px; line-height: 25.8400001525879px; margin: 0px 0px 1em;"> を開き、</div> <pre class="brush: xml;"> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> </pre> をアンコメントアウトで有効に。<br /> 以下をコメントアウト。</div> <pre class="brush: xml;"> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> </pre> <br /> 3.<br /> Apache と Tomcat を再起動<br /> <pre class="brush: bash;"> sudo /etc/init.d/tomcat restart sudo /etc/rc.d/init.d/httpd restart </pre> <br /> 4.<br /> サーバ内で次の両方のアドレスで正しく画面が表示されることを確認する。<br /> http:/[IPアドレス]:8080/gitbucket<br /> http/[IPアドレス]/MediaWiki<br /> ※[IPアドレス]はlocalhostでもよい。<br /> #クライアントからの接続確認 1.<br /> 外からつなぐために、ファイアウォールの設定をしておく。<br /> サーバからポート8080を許可すればOK。<br /> <br /> 2.<br /> クライアントから次の両方のアドレスで正しく画面が表示されることを確認する。<br /> http:/[IPアドレス]<span style="line-height: 1.5;">:8080</span><span style="line-height: 1.5;">/gitbucket</span></div> <div> http/[IPアドレス]/MediaWiki<br /> <br /> これで一安心。あの連携設定は私の環境で不要だったとは…。 #リポジトリ移行 さぁ、リポジトリのアドレスが変わったので、やっかい。<br /> もういろいろ考えて面倒だったので、新しくリポジトリを作り直すことにした。<br /> 手順は<a href="https://www.blogger.com/null"></a><a href="http://ameblo.jp/morimoridiary/entry-12028742376.html" target="_blank" title="">自宅Linuxサーバを構築してみる(11.2 GitBucket とVS2013の連携)</a>と同様だが、リモートリポジトリのアドレスにポート":8080"が挿入される点が異なる。<br /> <br /> まぁなんかあったら過去のリポジトリをクローンすればいい。<br /> ここでの目的は、過去の変更履歴を確認できることと、マイルストーン毎にコミットして精神安定を得ること。変なことで頑張るべきではないと言い訳をする。<br /> <br /> #終わりに これでMediaWikiとGitBucketを無事両立できたわけです。MedeiaWikiに自作ソースコード規約が書いてあったのにアクセスできないのがつらかった笑。<br /> あと、これは蓄積すべき!のメモやらURLが溜まりに溜まっている。ひえー。今から整理せねば。<br /> 取りあえず、一安心。良かった―。
新しい投稿
前の投稿
ホーム
登録:
投稿 (Atom)