コード例 #1
0
ファイル: experiment.py プロジェクト: andrejstmh/tribometer
 def setWFD_freq(self, freq):
     if freq > 0:
         if freq > default_settings.Default_RPM_limit.max / 60:
             freq = default_settings.Default_RPM_limit.max / 60
         controls.set_speed(freq)
         controls.start()
     else:
         freq = 0
         controls.stop()
     self.expr.WFD_freq = freq
     return freq
コード例 #2
0
def selfDrive(guide):
    """Tesla Car"""

    if guide == [1]:  #00
        cn.forward()
        #stop()
    elif guide == [2]:  #01
        cn.right()
        #stop()
    elif guide == [0]:
        cn.left()
        #stop()
    elif guide == [3]:
        cn.stop()
コード例 #3
0
def main(command=None):
    if len(sys.argv) == 2:
        command = command or sys.argv[1]

    if command == 'start':
        install()
        start()

    elif command == 'stop':
        stop()

    elif command == 'install':
        install()

    elif command == 'uninstall':
        stop()
        uninstall()

    else:
        invalid()
コード例 #4
0
def turn_interface(root):

	main_frame = tk.Frame(root, bg=bg_color, bd=0)
	main_frame.place(relx = 0, rely = 0, relwidth=1, relheight=1)

	"""HEADER"""

	subframe_name = tk.Frame(main_frame, bg=second_color, bd=0)
	subframe_name.place(relx=0, rely=0, relwidth=1, relheight=0.06)

	name_label = tk.Label(subframe_name, text='Maxwell pendulum modeling', font=(headers_font, 30), bg=second_color)
	name_label.place(relx = 0.05, rely = 0.5, anchor='w')

	author_label = tk.Label(subframe_name, text='designed by Timofey Antipov', font=(headers_font, 10), bg=second_color)
	author_label.place(relx=0.9, rely=0.95, anchor='se')

	"""END OF HEADER"""


	"""PARAMETERS FRAME"""

	parameters_frame = MyFrame()
	parameters_frame.set_frame(main_frame, 0.02, 0.075, 0.45, 0.12)
	parameters_frame.set_label("Model\nparameters", 0.25)

	# Radius area

	r_ax = Param_block(parameters_frame.frame, "Axle radius (cm):", 1, 0.25, 0, 0.25)
	r_disk = Param_block(parameters_frame.frame, "Disk radius (cm):", 1, 0.25, 0.5, 0.75)

	# Mass area

	m_ax = Param_block(parameters_frame.frame, "Axle mass (g):", 1, 0.5, 0, 0.25)
	m_disk = Param_block(parameters_frame.frame, "Disk mass (g):", 1, 0.5, 0.5, 0.75)

	# Length area

	l_cyl = Param_block(parameters_frame.frame, "Cylinder length (cm):", 1, 0.75, 0, 0.25)
	l_thread = Param_block(parameters_frame.frame, "Thread length (cm):", 1, 0.75, 0.5, 0.75)

	"""END OF PARAMETERS FRAME"""


	"""INITIAL CONDITIONS"""

	conditions_frame = MyFrame()
	conditions_frame.set_frame(main_frame, 0.02, 0.215, 0.45, 0.06)
	conditions_frame.set_label("Initial conditions", 0.25)

	z_0 = Param_block(conditions_frame.frame, "Coordinate:", 0, 0.25, 0, 0.5, 0.5)
	v_0 = Param_block(conditions_frame.frame, "Velocity:", 0, 0.5, 0, 0.5, 0.5)

	direct_label = tk.Label(conditions_frame.frame, text="Direction:", font=(general_font, 16), bg=bg_color, fg=second_color)
	direct_label.place(relx=0.75, rely=0, relwidth=0.25, relheight=0.5)

	dir_var = tk.StringVar()

	direct_radio_up = tk.Radiobutton(conditions_frame.frame, text="Up", font=(general_font, 14), variable=dir_var, value='up')
	direct_radio_up.place(relx=0.75, rely=0.5, relwidth=0.125, relheight=0.5)
	direct_radio_down = tk.Radiobutton(conditions_frame.frame, text='Down', font=(general_font, 14), variable=dir_var, value='down')
	direct_radio_down.place(relx=0.875, rely=0.5, relwidth=0.125, relheight=0.5)


	"""END OF INITIAL CONDITIONS"""

	"""CONTROL PANEL"""

	control_frame = MyFrame()
	control_frame.set_frame(main_frame, 0.02, 0.295, 0.45, 0.06)
	control_frame.set_label("Controls", 0.25)

	entries = [m_disk.field, m_ax.field, r_disk.field,
	r_ax.field, l_cyl.field, l_thread.field, z_0.field, v_0.field, direct_radio_up, direct_radio_down]

	start_command = lambda: controls.start(start_button.button, stop_button.button, [m_disk.field.get(), m_ax.field.get(), r_disk.field.get(),
	r_ax.field.get(), l_cyl.field.get(), l_thread.field.get(), z_0.field.get(), v_0.field.get(), str(dir_var.get())], entries)
	stop_command = lambda: controls.stop(start_button.button, stop_button.button)

	start_button = Control_button(control_frame.frame, "Start", start_command, 0.3, 0.1)
	stop_button = Control_button(control_frame.frame, "Stop", stop_command, 0.65, 0.1)

	"""END OF CONTROL PANEL"""


	"""GRAPH 1"""

	graph1_frame = MyFrame()
	graph1_frame.set_frame(main_frame, 0.02, 0.41, 0.45, 0.55)
	graph1_frame.set_label("Time dependence", Width=1, Height=0.1)

	pic1 = tk.Frame(graph1_frame.frame, bg='white')
	pic1.place(relx=0,rely=0.1, relwidth=1, relheight=0.9)

	controls.show_time_dep(pic1)

	"""END OF GRAPH 1"""


	"""GRAPH 2"""

	graph2_frame = MyFrame()
	graph2_frame.set_frame(main_frame, 0.53, 0.41, 0.45, 0.55)
	graph2_frame.set_label("Phase portrait", Width=1, Height=0.1)

	pic2 = tk.Frame(graph2_frame.frame, bg='white')
	pic2.place(relx=0,rely=0.1, relwidth=1, relheight=0.9)

	controls.show_portrait(pic2)

	"""END OF GRAPH 2"""
	

	"""VALUES TABLE"""

	table_frame = MyFrame()
	table_frame.set_frame(main_frame, 0.53, 0.075, 0.45, 0.28)
	table_frame.set_label("Result data", Width=1, Height=0.1)

	pic3 = tk.Frame(table_frame.frame, bg='white')
	pic3.place(relx=0,rely=0.1, relwidth=1, relheight=0.9)

	controls.show_table(pic3)

	"""END OF VALUES TABLE"""
コード例 #5
0
def modelCar(q):
    """Thread- 2  """
    print("thread 2")
    data = "xc"
    key = 0

    model_path = "/home/pi/Desktop/work/DB/reserve"


    g_1 = tf.Graph()
    with g_1.as_default():
        n_nodes_hl1 = 1600
        n_classes = 4

        x = tf.placeholder('float', [None, 3200])
        y = tf.placeholder('float')

        prediction = neural_network_model(x)
        saver = tf.train.Saver()


    sess = tf.Session(graph = g_1)
    #sess.run(init)
    saver.restore(sess, model_path)


    """a = 0"""
    msg = "hi"
        

    while True:
        print("namaste")

        try:
            data_1 = so.receive_fromRemote1()
                            
            if data_1 == "close":
                cn.stop()
                print("remote not working")
                
                while True:
                    so.receive_fromRemote1()

                    try:
                        so.receive_fromRemote()
                        data = "ef"
                            
                    except Exception:
                        asdf = 1
                        break   """"""
                    
                data = "ef"

        except Exception:
            try:
                data = so.receive_fromRemote()
                key = 1
                    
                if data == "man":
                    while True:
                            
                        X = cp.captureImage()

                        guide = (sess.run(tf.argmax(prediction,1), feed_dict={x: [X] } ))

                        selfDrive(guide)                                              
                        print("selfdrive")
                        
                        sleep(0.01)
                            

                        try:
                            data = so.receive_fromRemote()
                            key = 1
                            
                            if data == "man":
                                msg = "Manual_mode"
                                so.send_toRemote(msg)
                                key = 0
                                print("going to semi-manual")
                                break

                        except Exception:
                            print("nnn")
                            
                
            except Exception:
                print("der")



        if data == "ab":              """Forward"""
            X = cp.captureImage()
            predict = (sess.run(tf.argmax(prediction,1), feed_dict={x: [X] } ))

            if predict == [0]:
                cn.forward()
                 
            else:
                selfDrive(predict)

            print("forward")
            
            if key == 1:
                so.send_toRemote("Moving forward")
                key = 0

            data = "ef"
            

        elif data == "bc":            """Back"""
            print("back")
            
            if key == 1:
                so.send_toRemote("Moving back")
                key = 0

            cn.back()
            data = "ef"
コード例 #6
0
            data = "ef"
            
            

        elif data == "ef":            """Stop"""
            print("stop")
            
            sig_ultrason = notice
            if sig_ultrason == 4:
                cn.forward_sonic()
                            
            if key == 1:
                so.send_toRemote("stop")
                key = 0

            cn.stop()


        elif data == "fg":            """End program"""
            msg = "end program"
            print("end program")
            
            prog_end()

            qw = 23
            q.put(qw)
            time.sleep(1)
            print("Terminating Thread 2")
                
            break