Exemple #1
0
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)
Exemple #2
0
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()
Exemple #3
0
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()
Exemple #4
0
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")
Exemple #5
0
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 !!"
Exemple #6
0
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 !!")