def waypoint(waypoint_data): for route_number, lat_lng_data in waypoint_data.items(): print "-" * 60 print "route_number :", route_number print "lat :", lat_lng_data["lat"] print "lng :", lat_lng_data["lng"] goal_lat = lat_lng_data["lat"] goal_lng = lat_lng_data["lng"] while True: # up_down(40) # 目標地点までの角度と距離を取得 goal_gps_data = get_direction_distance(goal_lat=goal_lat, goal_lng=goal_lng) # 目的地と現在地が直径1m以下なら次の目的地 if goal_gps_data["distance"] <= 1: for i in range(10): led_purple() time.sleep(0.1) led_off() time.sleep(0.1) print "Next waypoint!!" break # 移動開始 else: print "Try waypoint!!" # その場で目標地点の角度(direction)を向く compass(set_angle=goal_gps_data["direction"], set_diving=False) # 目標地点まで角度を調整しながら前進 # go_compass_onoff(set_speed=30, set_angle=0, set_rot=goal_gps_data["set_rot"], set_diving=True) go_compass_onoff(set_speed=30, set_angle=goal_gps_data["direction"], set_rot=30, set_diving=True)
def atumeru_led(): time_led = 0.1 for i in range(12): led_red() time.sleep(time_led) led_red() time.sleep(time_led) led_green() time.sleep(time_led) led_purple() time.sleep(time_led) led_yellow() time.sleep(time_led) led_lihtblue() time.sleep(time_led) led_off()
def course_convention(): stop() # Uターン地点まで行く(海上) led_red() go_yaw_onoff_iki(set_speed=30, set_rot=250, set_diving=5) led_off() # Uターン地点まで行く(潜水) led_blue() go_yaw_onoff_iki(set_speed=50, set_rot=880, set_diving=60) led_off() # 浮上 stop() led_green() up_down(60) time.sleep(5) stop() led_off() # Uターン # yaw(100, set_diving=False) led_purple() yaw_rot(set_rot=20, set_diving=True) led_off() # 所定の深さまで沈む diving_while(30) # スタート地点まで行く(潜水) led_blue() go_yaw_onoff_kaeri(set_speed=30, set_rot=800, set_diving=60) led_off() # スタート地点まで行く(海上) led_red() go_yaw_onoff_kaeri(set_speed=30, set_rot=400, set_diving=5) led_off() # 浮上 stop() led_green() up_down(60) time.sleep(2) my_exit()
def my_main(val): if val == "a": # jtalk(file_name="modea", voice="エイチワイの皆さんこんにちは、これから、海洋ロボットの説明を始めます。 私のなまえは「ちぶるまぎーもでるじーです」") jtalk(file_name="modea", voice="皆さんこんにちは、これから、海洋ロボットの説明を始めます。 私のなまえは「ちぶるまぎーもでるじーです」") if val == "b": jtalk(file_name="modedb", voice="私は「海洋ロボットコンペティション、イン、沖縄」に出場するためにかいはつされた、海洋ロボットです。") if val == "c": jtalk(file_name="modedc", voice="私は主に、アルミニウムとアクリルで構成されています。モータには12ボルトのDCモータ、メインコントローラにはラズベリーパイモデルBを使用しています。バッテリは11.1ボルトのしゅ制御用と「制御回路用」の7.4ボルトのリポバッテリを使用しています。センサ類は主に方向検出用の9軸センサ、水深の検出には圧力センサ、また、各スラスターにはモータの回転数を検出するための「ロータリエンコーダ」を搭載しています。") # jtalk(file_name="modedc2", voice="潜航深度は最大で5メートル、航行速度は最大で2メートル毎秒です。") # jtalk(file_name="modedc3", voice="それでは、実際にスラスタを動かしてみたいと思います。機体から少しだけ離れてください。 このスラスタで潜水や浮上を行います。 ") # jtalk(file_name="modedc4", voice="また、こちらのスラスタでは、前進や行進、旋回などを行います。 ") # jtalk(file_name="modedc5", voice="また、こちらのLEDは外部からロボットがどのような「動作」をしているかがわかりやすいように7しょくで「現在」の状態を表現しています") # jtalk(file_name="modedc6", voice="これで海洋ロボットの説明を終了します。ご清聴、ありがとうございました。") if val == "d": jtalk_say(file_name="modea") time.sleep(9) jtalk_say(file_name="modedb") time.sleep(10) # jtalk_say(file_name="modedc") jtalk_say(file_name="sensor_add") time.sleep(23) jtalk_say(file_name="sensor_add2") time.sleep(40) jtalk_say(file_name="modedc2") time.sleep(8) jtalk_say(file_name="modedc3") led_blue() time.sleep(7) up_down(20) time.sleep(2) up_down(90) time.sleep(3) stop() led_off() jtalk_say(file_name="modedc4") led_purple() time.sleep(3) go_back(20) time.sleep(2) go_back(90) time.sleep(3) stop() led_off() jtalk_say(file_name="modedc5") led_red() time.sleep(1.5) led_blue() time.sleep(1.5) led_green() time.sleep(1.5) led_purple() time.sleep(1.5) led_yellow() time.sleep(1.5) led_lihtblue() time.sleep(1.5) led_off() time.sleep(3) jtalk_say(file_name="modedc6")
def first_action(): # 設定ファイルから設定やパラメータを読み込む inifile = ConfigParser.SafeConfigParser() inifile.read('/kaiyo/my_config/my_config.ini') set_send_reboot = distutils.util.strtobool(inifile.get('set_mode', 'set_send_reboot')) set_battery_check = distutils.util.strtobool(inifile.get('set_mode', 'set_battery_check')) set_sensor_log = distutils.util.strtobool(inifile.get('set_mode', 'set_sensor_log')) set_gps_log = distutils.util.strtobool(inifile.get('set_mode', 'set_gps_log')) set_camera = distutils.util.strtobool(inifile.get('set_mode', 'set_camera')) set_operation_check = distutils.util.strtobool(inifile.get('set_mode', 'set_operation_check')) set_start_mgs = distutils.util.strtobool(inifile.get('set_mode', 'set_start_mgs')) set_send_pwm = distutils.util.strtobool(inifile.get('set_mode', 'set_send_pwm')) set_countdown = int(inifile.get('set_mode', 'set_countdown')) print print "----------------------------------" print "set_send_reboot :", set_send_reboot print "set_battery_check :", set_battery_check print "set_sensor_log :", set_sensor_log print "set_gps_log :", set_gps_log print "set_camera :", set_camera print "set_operation_check :", set_operation_check print "set_start_mgs :", set_operation_check print "set_send_pwm :", set_send_pwm print "set_countdown :", set_countdown print "----------------------------------" # 念のためモーターstop stop() if set_send_reboot: # センサー初期化 send_data("reboot") if set_battery_check: # マシンの状態をチェック battery_check(set_lipoC2=7.0, set_lipoC3S3=11) # 待機状態のLEDをセット led_purple() if set_operation_check == True: # 動作チェックするか? operation_check() if set_start_mgs: # リードスイッチでスタート data = get_data("all") # スタート動作なし # while data["mgs"] == 1: # スタート動作あり while data["mgs"] == 0: data = get_data("all") print data["mgs"] print "Ready !!" print "\nPlease wait!!" # センサー初期化 send_data("reboot") time.sleep(0.5) send_data("reboot") time.sleep(0.5) send_data("reboot") time.sleep(0.5) if set_send_pwm: # プロポ受信モード send_data("pwm on") # センサを安定状態にするため for i in range(20): data = get_data("all") if set_sensor_log: cmd = "python /kaiyo/my_mod/my_data_sampling.py" subprocess.Popen(cmd.split()) if set_gps_log: cmd = "python /kaiyo/my_mod/my_gps.py" subprocess.Popen(cmd.split()) if set_camera: cmd = "python /kaiyo/my_mod/my_camera.py" subprocess.Popen(cmd.split()) if set_countdown: # カウントダウン for cnt in range(set_countdown, 0, -1): led_red() print cnt time.sleep(0.5) led_off() time.sleep(0.5) print "Go !!"
def first_action(sensordata): # 設定ファイルから設定やパラメータを読み込む inifile = configparser.SafeConfigParser() inifile.read('/kaiyo/my_config/my_config.ini') set_send_reboot = distutils.util.strtobool( inifile.get('set_mode', 'set_send_reboot')) set_battery_check = distutils.util.strtobool( inifile.get('set_mode', 'set_battery_check')) set_sensor_log = distutils.util.strtobool( inifile.get('set_mode', 'set_sensor_log')) set_gps_log = distutils.util.strtobool( inifile.get('set_mode', 'set_gps_log')) set_camera = distutils.util.strtobool(inifile.get('set_mode', 'set_camera')) set_operation_check = distutils.util.strtobool( inifile.get('set_mode', 'set_operation_check')) set_move_test = distutils.util.strtobool( inifile.get('set_mode', 'set_move_test')) set_start_mgs = distutils.util.strtobool( inifile.get('set_mode', 'set_start_mgs')) set_send_pwm = distutils.util.strtobool( inifile.get('set_mode', 'set_send_pwm')) set_countdown = int(inifile.get('set_mode', 'set_countdown')) print() print("----------------------------------") print("set_send_reboot :", set_send_reboot) print("set_battery_check :", set_battery_check) print("set_sensor_log :", set_sensor_log) print("set_gps_log :", set_gps_log) print("set_camera :", set_camera) print("set_operation_check :", set_operation_check) print("set_start_mgs :", set_start_mgs) print("set_send_pwm :", set_send_pwm) print("set_countdown :", set_countdown) print("set_move_test :", set_move_test) print("----------------------------------") # 念のためモーターstop stop() if set_send_reboot: # センサー初期化 send_data("reboot") if set_battery_check: # マシンの状態をチェック battery_check(set_lipoC2=7.0, set_lipoC3S3=11) # 待機状態のLEDをセット led_purple() if set_operation_check: # 動作チェックするか? operation_check() if set_start_mgs: # リードスイッチでスタート # data = get_data("all") # スタート動作なし # while data["mgs"] == 1: # スタート動作あり while data["mgs"] == 0: data = get_data("all") print(data["mgs"]) print("Ready !!") print("\nPlease wait!!") # センサー初期化 send_data("reboot") time.sleep(0.5) send_data("reboot") time.sleep(0.5) send_data("reboot") time.sleep(0.5) if set_send_pwm: # プロポ受信モード send_data("pwm on") # センサを安定状態にするため for i in range(20): data = get_data("all") if set_sensor_log: set_sample_rate = 0.2 sensor_process = Process(target=data_sampling, args=[data, set_sample_rate]) sensor_process.start() # # if set_gps_log: # gps_process = Process(target=get_gps_data, args=()) # gps_process.start() # # if set_camera: # camera_process = Process(target=camera2) # camera_process.start() if set_countdown: # カウントダウン for cnt in range(set_countdown, 0, -1): led_red() print(cnt) time.sleep(0.5) led_off() time.sleep(0.5) print("Go !!")