SERob3 (python) - Ղեկավարում։

Post Reply
davbaghdasaryan
Posts: 101
Joined: Thu Apr 09, 2020 8:08 pm

SERob3 (python) - Ղեկավարում։

Post by davbaghdasaryan »

Controlling | Управление



Այսօր մենք կփորձենք ղեկավարել մեր ռոբոտին Python ծրագրավորման լեզվի միջոցով։ Սկզբում պետք է մտնել մեզ
անհրաժեշտ կատալոգը։ Մուտք գործելու համար գրում ենք՝ «cd projects/SERob3/robots»: Հաջորդքայլում բացում ենք
remote_control.py ծրագիրը՝ մուտքագրելով «sudo nano remote_control.py» հրամանը։

Սեղմեք այստեղ

Code: Select all

cd projects/SERob3/robots
sudo nano remote_control.py
Ծրագիրը ստեղծելու համար պետք է ներբեռնել «drive», «curses» գրադարանները
Սեղմեք այստեղ

Code: Select all

from SERob3 import drive
import curses
Անհրաժեշտ է նշել որոշ պարամետրեր եւ ներմուծված ստեղներից կախված կատարվելիք հրամանները։
Սեղմեք այստեղ

Code: Select all

screen = curses.initscr()
curses.noecho()
curses.cbreak()
screen.keypad(True)

try:
	while True:
		char = screen.getch()
		if char == ord('q'):
			break

		elif char == ord('s'):
			print("stop")
			drive.Out(0, 1, 0)
				
		elif char == curses.KEY_UP:
			print("forward")
			drive.Out(0, 1, 70)

		elif char == curses.KEY_DOWN:
			print("backward")
			drive.Out(0, 2, 70)

		elif char == curses.KEY_LEFT:
			print("left")
			drive.Out(0, 3, 70)

		elif char == curses.KEY_RIGHT:
			print("right")
			drive.Out(0, 4, 70)[

Սխալ հրամանի դեպքում տպել «wrong command»:
Սեղմեք այստեղ

Code: Select all

 
 else:
       print("\nwrong command")
Հիմա կարող ենք աշխատացնել ծրագիրը․ գրում ենք՝ «sudo python2 remote_control.py»:
Տերմինալի հրամաններ

Code: Select all

cd projects/SERob3/robots
sudo python2 remote_control.py
Վերեւ, աջ, ձախ, ներքեւ սլաքների դեպքում ռոբոտը շարժվում է համապատասխան ուղղությամբ, «S» ստեղնի
դեպքում ռոբոտը կանգ է առնում։
Code example:

Code: Select all

from SERob3 import drive
import curses

screen = curses.initscr()
curses.noecho()
curses.cbreak()
screen.keypad(True)

try:
	while True:
		char = screen.getch()
		if char == ord('q'):
			break

		elif char == ord('s'):
			print("stop")
			drive.Out(0, 1, 0)
				
		elif char == curses.KEY_UP:
			print("forward")
			drive.Out(0, 1, 70)

		elif char == curses.KEY_DOWN:
			print("backward")
			drive.Out(0, 2, 70)

		elif char == curses.KEY_LEFT:
			print("left")
			drive.Out(0, 3, 70)

		elif char == curses.KEY_RIGHT:
			print("right")
			drive.Out(0, 4, 70)

		else:
			print("\nwrong command")

finally:
	curses.nocbreak(); screen.keypad(0); curses.echo()
	curses.endwin()
Last edited by davbaghdasaryan on Mon Aug 02, 2021 5:46 pm, edited 2 times in total.

davbaghdasaryan
Posts: 101
Joined: Thu Apr 09, 2020 8:08 pm

Управление

Post by davbaghdasaryan »

Сегодня мы попробуем управлять нашим роботом с помощью языка программирования Python. Для начала мы должны войти в нужный нам каталог. Чтобы войти, пишем "cd projects/SERob3/robots". Следующим шагом открываем программу "remote_control.py", введя команду "sudo nano remote_control.py".

посмотреть

Code: Select all

cd projects/SERob3/robots
sudo nano remote_control.py
Для создания программы необходимо загрузить библиотеки "drive", "curses"
посмотреть

Code: Select all

from SERob3 import drive
import curses
указать некоторые параметры и команды, которые будут выполняться в зависимости от импортированных клавиш.
посмотреть

Code: Select all

screen = curses.initscr()
curses.noecho()
curses.cbreak()
screen.keypad(True)

try:
	while True:
		char = screen.getch()
		if char == ord('q'):
			break

		elif char == ord('s'):
			print("stop")
			drive.Out(0, 1, 0)
				
		elif char == curses.KEY_UP:
			print("forward")
			drive.Out(0, 1, 70)

		elif char == curses.KEY_DOWN:
			print("backward")
			drive.Out(0, 2, 70)

		elif char == curses.KEY_LEFT:
			print("left")
			drive.Out(0, 3, 70)

		elif char == curses.KEY_RIGHT:
			print("right")
			drive.Out(0, 4, 70)[

При неправильной команде - печатать "wrong command".
посмотреть

Code: Select all

 
 else:
       print("\nwrong command")
Теперь можем запустить программу. Пишем «sudo python2 remote_control.py»
Terminal:

Code: Select all

cd projects/SERob3/robots
sudo python2 remote_control.py
При нажатии стрелок вверх, вправо, влево, вниз робот движется в соответствующем направлении, при нажатии клавиши "S" - робот останавливается.
Code example:

Code: Select all

from SERob3 import drive
import curses

screen = curses.initscr()
curses.noecho()
curses.cbreak()
screen.keypad(True)

try:
	while True:
		char = screen.getch()
		if char == ord('q'):
			break

		elif char == ord('s'):
			print("stop")
			drive.Out(0, 1, 0)
				
		elif char == curses.KEY_UP:
			print("forward")
			drive.Out(0, 1, 70)

		elif char == curses.KEY_DOWN:
			print("backward")
			drive.Out(0, 2, 70)

		elif char == curses.KEY_LEFT:
			print("left")
			drive.Out(0, 3, 70)

		elif char == curses.KEY_RIGHT:
			print("right")
			drive.Out(0, 4, 70)

		else:
			print("\nwrong command")

finally:
	curses.nocbreak(); screen.keypad(0); curses.echo()
	curses.endwin()

davbaghdasaryan
Posts: 101
Joined: Thu Apr 09, 2020 8:08 pm

Controlling

Post by davbaghdasaryan »

Today we will try to control our robot with the use of the Python programming language. First of all we need to log into the required catalogue. Type “cd projects/SERob3/robots”. Next step is to open the remote_control.ру program and enter the “sudo nano remote_control.py” command.
Code:

Code: Select all

cd projects/SERob3/robots
sudo nano remote_control.py
In order to create the program we need to download “drive” and ”curses” libraries
Code:

Code: Select all

from SERob3 import drive
import curses
mention some parameters and the commands to be performed depending on imported keys
Code:

Code: Select all

screen = curses.initscr()
curses.noecho()
curses.cbreak()
screen.keypad(True)

try:
	while True:
		char = screen.getch()
		if char == ord('q'):
			break

		elif char == ord('s'):
			print("stop")
			drive.Out(0, 1, 0)
				
		elif char == curses.KEY_UP:
			print("forward")
			drive.Out(0, 1, 70)

		elif char == curses.KEY_DOWN:
			print("backward")
			drive.Out(0, 2, 70)

		elif char == curses.KEY_LEFT:
			print("left")
			drive.Out(0, 3, 70)

		elif char == curses.KEY_RIGHT:
			print("right")
			drive.Out(0, 4, 70)[

In the case of the wrong command, print “wrong command”.

Code:

Code: Select all

 
 else:
       print("\nwrong command")
Now we can run the program: type “sudo python2 remote_control.py”.
Terminal:

Code: Select all

cd projects/SERob3/robots
sudo python2 remote_control.py
In the case of up, right, left, down arrows the robot moves in the corresponding direction, in case of the "S" key the robot stops.

Code example:

Code: Select all

from SERob3 import drive
import curses

screen = curses.initscr()
curses.noecho()
curses.cbreak()
screen.keypad(True)

try:
	while True:
		char = screen.getch()
		if char == ord('q'):
			break

		elif char == ord('s'):
			print("stop")
			drive.Out(0, 1, 0)
				
		elif char == curses.KEY_UP:
			print("forward")
			drive.Out(0, 1, 70)

		elif char == curses.KEY_DOWN:
			print("backward")
			drive.Out(0, 2, 70)

		elif char == curses.KEY_LEFT:
			print("left")
			drive.Out(0, 3, 70)

		elif char == curses.KEY_RIGHT:
			print("right")
			drive.Out(0, 4, 70)

		else:
			print("\nwrong command")

finally:
	curses.nocbreak(); screen.keypad(0); curses.echo()
	curses.endwin()

Post Reply