# メモー コマンド入力←→AB
# ROSコマンド
システム進行状況・挙動を示すグラフの作成
$ rosrun rqt_graph rqt_graph
その他コマンド詳細→[ここ](https://kazuyamashi.github.io/ros_lecture/ros_measure.html)
配信されているあらゆるトピックのメッセージ型を返す
$ rostopic type [topic]
メッセージの詳細
$ rosmsg show [メッセージ型]
ros node の速さ
$ rostopic hz [topic]
トピックで配信されているデータの時間図
グラフにて表示
$ rosrun rqt_plot rqt_plot
## rosservice
$ rosservice list
サービスの詳細
$ rosservice type
## rosparam
rosparam set パラメータを設定します
rosparam get パラメータを取得します
rosparam load ファイルからパラメータを読み込みます
rosparam dump ファイルへパラメータを書き出します
rosparam delete パラメータを消去します
rosparam list パラメータ名をリスト化します
すべてのパラメーターを表示
$ rosparam get /
パラメータの値変更
rosparam set [param_name]
rosparam get [param_name]
file_nameにパラメータの値を保存
rosparam dump [file_name]
file_nameファイルをnamespaceを読み込む
rosparam load [file_name] [namespace]
getで読み出すことが可能
## rqt_console
$ rosrun rqt_console rqt_console
$ rosrun rqt_logger_level rqt_logger_level
**ロガー レベルについての簡単な説明**
ログ出力レベルは, 以下の順序で優先度付けされています:
Fatal
Error
Warn
Info
Debug
Fatalが最高優先度を持ち, Debugが最低優先度を持っています. ログ出力レベルを設定することで, その優先順位より上位のメッセージを全て確認することができます. 例えば, Warnにレベルを設定すると, 全てのWarn, Error, そして, Fatalのログ出力メッセージを確認できるでしょう.
## rosed
rosedは rosbash群の一部です.これはパッケージへの完全なパスを知ることなく,パッケージ名だけを使用してパッケージ内のファイルを直接編集する機能を提供します。
## メッセージの作成
メッセージ(msg): ROS メッセージの型を説明する単純なテキストファイルです.これはメッセージのソース コードを異なる言語で作成するのに使います.
パッケージの msgディレクトリに保管されている。
**メッセージに使える型**
int8, int16, int32, int64 (plus uint*)
float32, float64
string
time, duration
other msg files
variable-length array[] and fixed-length array[C]
Header はタイムスタンプと ROS でよく使用される座標フレームの情報が含まれています.
メッセージ作成の例
$ cd ~/catkin_ws/src/beginner_tutorials
$ mkdir msg
$ echo "int64 num" > msg/Num.msg
コメントタグをはずす<build_depend>message_generation</build_depend>
<exec_depend>message_runtime</exec_depend>
CMakeLists.txtの中にすでにあるfind_packageのに、message_generationの依存項目を付け加えると、メッセージを生成できます。
find_package(catkin REQUIRED COMPONENTS
roscpp
rospy
std_msgs
message_generation ←これを追加
)
同様にメッセージの実行時依存も有効になっていることを確認しましょう。
catkin_package(
...
CATKIN_DEPENDS message_runtime ...
...
## サービスの作成
サービス(srv): サービスを記述.これはリクエストとレスポンスという2つの部分で構成されます。
srv ディレクトリに保管されている。
サービス作成の例
$ roscd beginner_tutorials
$ mkdir srv
## パッケージのコピー
roscpは 1つのパッケージから他のパッケージへファイルをコピーするのに便利なコマンドライン-ツールです.
$ roscp [package_name] [file_to_copy_path] [copy_path]
## コマンドまとめ
rospack = ros+pack(age) : ROS パッケージに関連した情報を提供します
roscd = ros+cd : ROS パッケージがスタックのディレクトリへ移動(cd=changes directory)します
rosls = ros+ls : ROS パッケージ内のファイルを表示(ls=list segments)します
roscp = ros+cp : ROS パッケージから、またはパッケージへファイルをコピー(cp=copy)します
rosmsg = ros+msg : ROS メッセージ定義に関連した情報を提供します
rossrv = ros+srv : ROS サービス定義に関連した情報を提供します
catkin_make = catkin+make : ROSパッケージを作成(コンパイル)します
アップデート関連
sudo apt update
sudo apt upgrade
## メモ
パッケージ(Packages): ROSのコードを構成するソフトウエア構造の一単位。
各パッケージにはライブラリ、実行ファイルやスクリプト等何でも含まれる.
マニフェスト(package.xml): パッケージの説明書。
パッケージ間の依存関係を明示し、パッケージのバージョン、ライセンス、メンテナンス担当者等といった付加的な情報を保存する
ターミナル時での操作
tabを押すことによって字を補う
-h help
# ubuntuコマンド
git clone [URL]
クローンする
ディレクトリの作成
mkdir [ディレクトリ名]
ソースファイルの作成
gedit [ファイル名]
アップデート
$ sudo apt update
$ sudo apt dist-upgrade
$ sudo apt autoremove