예제 #1
0
def battery_check(set_lipoC2=8, set_lipoC3S3=11):
    data = get_data("all")
    print
    print "----------------------------------"
    print "Lipo checking!!"
    time.sleep(0.5)


    if data["lipoC2"] <= set_lipoC2 or data["lipoC3S3"] <= set_lipoC3S3:
        if data["lipoC2"] <= 1 or data["lipoC3S3"] <= 1:
            if data["lipoC2"] <= 1:
                print "lipoC2 : No connection!!"
            if data["lipoC3S3"] <= 1:
                print "lipoC3S3 : No connection!!"
        else:
            while True:
                if data["lipoC2"] <= set_lipoC2:
                    print "lipoC2 : "+str(get_data("lipoC2"))+"[V]"
                if data["lipoC3S3"] <= set_lipoC3S3:
                    print "lipoC3S3 : "+str(get_data("lipoC3S3"))+"[V]"

                print "Lipo Low!!"
                led_red()
                time.sleep(0.1)
                led_off()
                time.sleep(0.1)

    print "lipoC2 : "+str(get_data("lipoC2"))+"[V]"
    print "lipoC3S3 : "+str(get_data("lipoC3S3"))+"[V]"
    print "Status okay!!"
    print "----------------------------------"
    print
예제 #2
0
def course_pool():
    stop()

    # Uターン地点まで行く(海上)
    led_red()
    go_yaw_onoff_iki(set_speed=30, set_rot=400, set_diving=80)
    # go_yaw_onoff_iki(set_speed=30, set_rot=200, set_diving=5)
    led_off()

    # Uターン地点まで行く(潜水)
    # led_blue()
    # go_yaw_onoff_iki(set_speed=30, set_rot=200, set_diving=60)
    # led_off()

    # 浮上
    stop()
    led_green()
    up_down(60)
    time.sleep(5)
    stop()
    led_off()

    # 設定地点まで自動で移動
    waypoint_data = {1:{'lat': 26.377735, 'lng': 127.822441667}}
    waypoint(waypoint_data = waypoint_data)
    print("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")

    # # Uターン
    # # yaw(100, set_diving=False)
    # led_purple()
    # yaw_rot(set_rot=30, set_diving=True)
    # led_off()

    # 所定の深さまで沈む
    diving_while(30)

    # スタート地点まで行く(潜水)
    led_blue()
    go_yaw_onoff_kaeri(set_speed=30, set_rot=420, set_diving=80)
    # go_yaw_onoff_kaeri(set_speed=30, set_rot=210, set_diving=80)
    led_off()

    # スタート地点まで行く(海上)
    # led_red()
    # go_yaw_onoff_kaeri(set_speed=30, set_rot=200, set_diving=5)
    # led_off()

    # 浮上
    stop()
    led_green()
    up_down(60)
    time.sleep(2)

    my_exit()
예제 #3
0
def mode_set():
    # 念のためモーターstop
    stop()
    # センサー初期化
    send_data("reboot")
    # マシンの状態をチェック
    status_check(set_lipoC2=7.1, set_lipoC3S3=11.3)
    # 待機状態のLEDをセット
    led_red()

    # textにlogを残すか?
    log()

    # 動作チェックするか?
    # operation_check()

    # リードスイッチでスタート
    data =  get_data("all")
    # print data
    # スタート動作なし
    # while data["mgs"] == 1:
    # スタート動作あり
    while data["mgs"] == 0:
        data =  get_data("all")
        print data["mgs"]
        print "Ready !!"

    # センサー初期化
    send_data("reboot")
    time.sleep(0.5)
    send_data("reboot")
    time.sleep(0.5)
    send_data("reboot")
    time.sleep(0.5)

    # カウントダウン
    for cnt in range(3, 0, -1):
        led_red()
        print cnt
        time.sleep(0.5)
        led_off()
        time.sleep(0.5)

    # センサ初期化で起こるずれを
    # for i in range(20):
    #     data = get_data("all")

    print "Go !!"
    led_yellow()
예제 #4
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()
예제 #5
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()
예제 #6
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")
예제 #7
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 !!"
예제 #8
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 !!")