メカトロニクスにうってつけの日

ロボット開発や研究活動に関するメモ

SI2016優秀講演賞

f:id:tattatatakemori:20170215171321p:plain

12月に参加したSI2016@札幌,なんと優秀講演賞をいただきました.光栄です.

ROSでC++ 11を使う

以下のページに書いてある.

answers.ros.org

 

ROSのプログラムで

std::string str = std::to_string(1); 

てきなものがコンパイルできなかった.

C++ 11でコンパイルするためにCMakefile.txtに以下を追加.

add_definitions(-std=c++11)

コンパイルが通るようになった.

 

rosclean purgeを自動で回す

はじめに

ROSのlogファイルの容量が大きくなるとエラーが起きるので定期的にrosclean purgeで消す必要がある.たぶん.毎回やるのは面倒なので自動化したい.時間指定でコマンドを自動実行するためのツール?であるcronを使う.

2 やったこと

2.1 cronの動作確認

$ sudo service cron status
cron start/running, process 1113 

動いてるっぽい.

2.2 crontabを設定

$ crontab -e

でcrontabのエディタを開く.ここでsudoをつけると設定したコマンドがroot権限で実行される.特にその必要はないのでsudoはつけない.今のユーザーで実行されることになるっぽい.

中には以下のコマンドを書いた.

* * * * * rosclean purge -y

「* * * * *」の部分は実行する時間.「*」はワイルドカードなので全時刻が該当し毎分実行される.次に「rosclean purge -y」では「本当にいいですか?」みたいなやつに勝手に「yes」答えるために「-y」をつけておいた.

 

2.3 動作確認

$ cat /var/log/syslog

でlogが見れる.以下のようなものが出た.

Jan 29 22:22:01 PC_name CRON[5725]: (user_name) CMD (rosclean purge -y)

無事に動いてるっぽい.

3 参考

rosclean - ROS Wiki

納品用ROS機の手癖

ryoichi0102.hatenablog.com