Skip to content

Instantly share code, notes, and snippets.

@534o
Created April 11, 2017 03:22
Show Gist options
  • Save 534o/51d848960c03567535a77b2380505e0a to your computer and use it in GitHub Desktop.
Save 534o/51d848960c03567535a77b2380505e0a to your computer and use it in GitHub Desktop.
#-*- coding:utf-8 -*-
#!/usr/bin/env python
name = {
'ROSは何の略でしょう?': 'Robot Operating Sysem',
'ROSディストリビューションのリリース時期の正しい順番は?': 'Hydro Indigo Kinetic',
'Ubuntuディストリビューションのリリース時期の正しい順番は?': 'Precise Trusty Xenial',
'RPCは何の略でしょう?': 'Remote Procedure Call',
}
# https://robotics.naist.jp/edu/text/?Robotics%2Flinux-command
unix = {'Unixコマンドでマニュアルを見るには?': 'man',
'Unixコマンドで今いるディレクトリのファイル一覧を見るには?': 'ls',
'Unixコマンドで今いるディレクトリのパスを見るには?': 'pwd',
'Unixコマンドでディレクトリを移動するには?': 'cd',
'Unixコマンドでディレクトリを作るには?': 'mkdir',
'Unixコマンドでファイルを消すには?': 'rm',
'Unixコマンドでディレクトリを消すには?': 'rm -r',
'Unixコマンドでファイルをコピーするには?': 'cp',
'Unixコマンドでファイルを移動するには?': 'mv',
'Unixコマンドでファイルのりインクを作成するには?': 'ln',
'Unixコマンドでテキストファイルをページャで見るには?': 'less',
'Unixコマンドでファイルの内容を標準出力に表示するには?': 'cat',
'Unixコマンドでファイルから特定の文字を検索するには?': 'grep'}
# https://robotics.naist.jp/edu/text/?Robotics%2Flinux-command
rospack = {
'ROSコマンドでパッケージが存在するディクトリを表示するには?': 'rospack find [package]',
'ROSコマンドでパッケージを移動するには?': 'roscd [package]',
'ROSコマンドでパッケージの中身のファイル一覧を見るには?': 'rosls [package]',
'ROSコマンドでパッケージ内のファイルをエディタで開くには?': 'rosed [package] [file]',
'ROSコマンドでパッケージ内のファイルを?': 'roscp [package] [file] [destination]',
'ROSコマンドでパッケージが依存する別のパッケージをインストールするには?': 'rosdep install [package]',
'ROSコマンドでマスタを立ち上げるには?': 'roscore',
'ROSコマンドでパッケージ内のノードを実行するには?': 'rosrun [package] [node]',
'ROSコマンドでファイルに記述されたノードの立ち上げや,パラメータのセットをするには?': 'roslaunch [package] [file]',
}
rosnode = {
'ROSコマンドでノードが存在するか確認するには?': 'rosnode ping',
'ROSコマンドでノードの一覧を表示するには?': 'rosnode list',
'ROSコマンドでノードの情報を表示するには?': 'rosnode info',
'ROSコマンドでノードが存在するマシンを表示するには?': 'rosnode machine',
'ROSコマンドでノードを終了させるには?': 'rosnode kill',
}
rostopic = {
'ROSコマンドでトピックの伝送速度を計測するには?': 'rostopic bw',
'ROSコマンドでトピックの内容を表示するには?': 'rostopic echo',
'ROSコマンドでトピックの周期を計測するには?': 'rostopic hz',
'ROSコマンドでトピックの情報を表示するには?': 'rostopic info',
'ROSコマンドでトピックの一覧を表示するには?': 'rostopic list',
'ROSコマンドでトピックを送信するには?': 'rostopic pub',
'ROSコマンドでトピックの型を表示するには?': 'rostopic type',
}
rosservice = {
'ROSコマンドでサービスの一覧を表示するには?': 'rosservice list',
'ROSコマンドでサービスを提供しているノードを表示する?': 'rosservice node',
'ROSコマンドでサービスを呼ぶには?': 'rosservice call',
'ROSコマンドでサービスの引数を表示するには?': 'rosservice args',
'ROSコマンドでサービスの型を表示するには?': 'rosservice type',
'ROSコマンドでサービスのROSRPC URIを表示するには?': 'rosservice find',
'ROSコマンドで特定の型のサービスを表示するにあは?': 'rosservice type',
}
rosconsole = {
'ROSコマンドでLoggerのレベルを表示するには?': 'rosconsole get',
'ROSコマンドでLoggerを持ったノード一覧を表示するには?': 'rosconsole list',
'ROSコマンドでLoggerのレベルをセットするには?': 'rosconsole set',
}
rosparam = {
'ROSコマンドでパラメータをセットするには?': 'rosparam set',
'ROSコマンドでパラメータを表示するには?': 'rosparam get',
'ROSコマンドでパラメータをファイルから読み込むにはには?': 'rosparam load',
'ROSコマンドでパラメータをファイルへ書き出すには?': 'rosparam dump',
'ROSコマンドでパラメータを消去するには?': 'rosparam delete',
'ROSコマンドでパラメータ一覧を表示をには?': 'rosparam list',
}
rosmsg = {
'ROSコマンドでメッセージファイルの中身を表示するには?': 'rosmsg show',
'ROSコマンドで全てのメッセージファイル一覧を表示するには?': 'rosmsg list',
'ROSコマンドでメッセージファイルのMD5を表示する?': 'rosmsg md5',
'ROSコマンドでパッケージ内のメッセージファイル一覧を表示するには?': 'rosmsg package',
'ROSコマンドでメッセージファイルを利用しているパッケージ一覧を表示するには?': 'rosmsg packages',
# using examles is better???
# 'ROSコマンドでPoseメッセージを表示するには?': 'rosmsg show Pose',
# 'ROSコマンドでnav_msgsパッケージ内のメッセージ一覧を表示するには?': 'rosmsg package nav_msgs',
# 'ROSコマンドでsensor_msgs/CameraInfoメッセージを利用しているパッケージ一覧を表示するには?': 'rosmsg packages sensor_msgs/CameraInfo',
# too easy?
}
rossrv = {
'ROSコマンドでサービスファイルの中身を表示するには?': 'rossrv show',
'ROSコマンドで全てのサービスファイル一覧を表示するには?': 'rossrv list',
'ROSコマンドでサービスファイルのMD5を表示する?': 'rossrv md5',
'ROSコマンドでパッケージ内のサービスファイル一覧を表示するには?': 'rossrv package',
'ROSコマンドでサービスファイルを利用しているパッケージ一覧を表示するには?': 'rossrv packages',
}
logging = {
'ROSコマンドでトピックをbagファイルに保存するには?': 'rosbag record',
'ROSコマンドでbagファイルで保存されたトピックを送信するには?': 'rosbag play',
'ROSコマンドでbagファイルを圧縮するには': 'rosbag compress',
'ROSコマンドでbagファイルを解凍するには': 'rosbag decompress',
'ROSコマンドでbagファイルを中身にフィルタを掛けるには': 'rosbag filter',
# topic_tools relay の使い方とかあったほうがいいか?
'ROSコマンドでフレーム間の変換を表示するには': 'rosrun tf tf_echo',
'ROSコマンドでフレームのツリー構造を表示するには': 'rosrun tf2 tools view frames.py',
}
faq = {
'[rospack] Error: package \'tf2_tools\' not found というエラーが出た時の対処法は?': 'sudo apt-get install ros-indigo-tf2-tools',
'SyntaxError: Non-ASCII character \'\xe3\' in file というエラーが出た時の対処法は?': '行頭に#-*- coding:utf-8 -*-を追加する',
'roscore: command not found というエラーが出た時の対処法は?': 'source /opt/ros/indigo/setup.bashとする',
}
# 'ROSコマンドでサービス?': 'rosservice ',
# 'ROSコマンドでサービス?': 'rosservice ',
# 'ROSコマンドでサービス?': 'rosservice ',
# 'ROSコマンドでサービス?': 'rosservice ',
# 'ROSコマンドで?': '',
# 'ROSコマンドで?': '',
# 'ROSコマンドで?': '',
# 'ROSコマンドで?': '',
# 'ROSコマンドで?': '',
# 'ROSコマンドで?': '',
import random
questions = [name, unix, rospack, rosnode, rostopic, rosservice, rosconsole, rosparam, rosmsg, rossrv, logging, faq]
random.seed()
for question in questions:
# get q&a
while len(question) >= 3:
q = random.choice(question.keys())
a = [question.pop(q)] # remove from question
for i in range(2):
a.append(question.pop(random.choice(question.keys())))
random.shuffle(a)
print q
for i in range(len(a)):
print("{}. {}".format(i, a[i]))
print("{}. その他\n".format(len(a)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment