SERob3 (python) - Փախչող ռոբոտի օրինակ

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

SERob3 (python) - Փախչող ռոբոտի օրինակ

Post by davbaghdasaryan »

Example of an Escaping Robot | Пример убегающего робота с помощью языка программирования Python



Այսօր կստեղծենք ռոբոտի օրինակ Python ծրագրավորման լեզվի միջոցով։ Դրա համար մեզ անհրաժեշտ է․
1) SERob3 ղեկավարիչ (controller),
2) Երկու ուլտրաձայնային հեռաչափ,
3) 2 շարժիչ, որոնցից մեկը տեղադրված է ռոբոտի ձախ կողմում՝ ձախակողմյան անիվները աշխատացնելու համար, մյուսը՝ աջում՝ աջ կողմի անիվները աշխատացնելու համար։
Առաջին շարժիչը միացնում ենք SERob3 ղեկավարիչի «Motors» բաժնի Pin 0-ին, իսկ 2-րդ շարժիչը` նույն բաժնի Pin 1-ին։
Դիմացի հեռաչափը միացնում ենք D In/O բաժնի pin 3-ին եւ Pin 4-ին։ Ետեւի հեռաչափը միացնում ենք Pin 5-ին եւ Pin 6-in:
Սեղմեք այստեղ
Screen Shot 2020-05-06 at 21.11.10.png
Screen Shot 2020-05-06 at 21.11.10.png (76.31 KiB) Viewed 104432 times
Screen Shot 2020-05-06 at 21.10.41.png
Screen Shot 2020-05-06 at 21.10.41.png (104.91 KiB) Viewed 104432 times
Screen Shot 2020-05-06 at 21.10.21.png
Screen Shot 2020-05-06 at 21.10.21.png (106.04 KiB) Viewed 104432 times
Սխեման ավարտեցինք, անցնենք ծրագրին:

Ծրագիրը ստեղծելու համար օգտվում ենք «drive», «Usrf» եւ «time» գրադարաններից։ Գրանցում ենք «Usrf»-ը որպես «myUsrf»։
Գործողություններն անդադար շարունակելու համար օգտագործում ենք «while (1):» հրամանը։ Ստուգումներից առաջ սպասում ենք 0.3 վայրկյան՝ «time.sleep(0.3)»։
Սեղմեք այստեղ

Code: Select all

from SERob3 import drive
from SERob3 import Usrf
import time
myUsrf = Usrf()

while (1):
        time.sleep(0.3)
Ստուգում ենք, եթե դիմացի հեռաչափի հեռավորությունը արգելքից փոքր է 40 սմ-ից, իսկ հետին հեռաչափինը՝ մեծ է 40 սմ-ից, ապա ռոբոտը պետք է շարժվի հետ։ Հակառակ դեպքում, եթե հետին հեռաչափի եւ արգելքի միջեւ հեռավորությունը փոքր է 40 սմ-ից, իսկ առջեւինը՝ մեծ է 40-ից, ապա ռոբոտը շարժվում է առաջ։ Իսկ եթե այս իրավիճակները չեն համապատասխանում ռոբոտին, ապա այն գտնվում է կանգնած վիճակում։
Սեղմեք այստեղ

Code: Select all

        if myUsrf.Distance(3) < 40 and myUsrf.Distance(5) > 40:
                drive.Out(0, 2, 70)
        else:
                if myUsrf.Distance(5) < 40 and myUsrf.Distance(3) > 40:
                        drive.Out(0, 1, 70)
                else:
                        drive.Out(0, 1, 0)
Code example:

Code: Select all

from SERob3 import drive
from SERob3 import Usrf
import time
myUsrf = Usrf()

while (1):
        time.sleep(0.3)
        if myUsrf.Distance(3) < 40 and myUsrf.Distance(5) > 40:
                drive.Out(0, 2, 70)
        else:
                if myUsrf.Distance(5) < 40 and myUsrf.Distance(3) > 40:
                        drive.Out(0, 1, 70)
                else:
                        drive.Out(0, 1, 0)
Ծրագիրն աշխատացնելու համար նշում ենք այն կատալոգը, որտեղ գտնվում է ծրագիրը։ Դրա համար գրում ենք․ «cd projects», «cd SERob3», «cd robots»։ Այնուհետեւ աշխատացնում ենք ծրագիրը․ «sudo python2» եւ ֆայլի անվանումը՝ «escaping.py»:
Սեղմեք այստեղ

Code: Select all

cd projects
cd SERob3
cd robots
sudo python2 escaping.py
Վերջ․ ստացանք մեզ անհրաժեշտ ռոբոտ

Last edited by davbaghdasaryan on Mon Aug 02, 2021 5:54 pm, edited 2 times in total.

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

Пример убегающего робота

Post by davbaghdasaryan »

Сегодня мы создадим пример робота с помощью языка программирования Python. Для этого нам понадобятся:
1) SERob3 контроллер (controller),
2) Два ультразвуковых дальномера,
3) 2 двигателя, один из которых расположен с левой стороны робота для управления левосторонними колесами, а другой - справа, для управления правосторонними колесами.

Первый двигатель подключаем к Pin 0 секции "Motors" контроллера SERob3, а второй двигатель - к Pin 1 той же секции.
Передний дальномер подключаем к Pin 3 и Pin 4 секции "D In/O". Задний дальномер подключаем к Pin 5 и Pin 6.

посмотреть
Screen Shot 2020-05-06 at 21.10.21.png
Screen Shot 2020-05-06 at 21.10.21.png (106.04 KiB) Viewed 104113 times
Screen Shot 2020-05-06 at 21.10.21.png
Screen Shot 2020-05-06 at 21.10.21.png (106.04 KiB) Viewed 104113 times
Screen Shot 2020-05-06 at 21.10.21.png
Screen Shot 2020-05-06 at 21.10.21.png (106.04 KiB) Viewed 104113 times
Схема завершена, перейдем к программе.

Для создания программы воспользуемся библиотеками "drive", "Usrf" и "time". Запишем "Usrf" как "myUsrf".
Для непрерывного продолжения действий воспользуемся командой while(1). Перед проверками ждем 0.3 секунды: "time.sleep(0.3)".

посмотреть

Code: Select all

from SERob3 import drive
from SERob3 import Usrf
import time
myUsrf = Usrf()

while (1):
        time.sleep(0.3)
Проверяем. Если расстояние от переднего дальномера до барьера меньше 40 см, а от заднего дальномера - больше 40 см, то робот должен двигаться назад. В противном случае, если расстояние от заднего дальномера до барьера меньше 40 см, а от переднего дальномера - больше 40 см, то робот должен двигаться вперед. А если эти условия не соответствуют роботу, то он находится в положении стоя.
посмотреть

Code: Select all

        if myUsrf.Distance(3) < 40 and myUsrf.Distance(5) > 40:
                drive.Out(0, 2, 70)
        else:
                if myUsrf.Distance(5) < 40 and myUsrf.Distance(3) > 40:
                        drive.Out(0, 1, 70)
                else:
                        drive.Out(0, 1, 0)
Code example:

Code: Select all

from SERob3 import drive
from SERob3 import Usrf
import time
myUsrf = Usrf()

while (1):
        time.sleep(0.3)
        if myUsrf.Distance(3) < 40 and myUsrf.Distance(5) > 40:
                drive.Out(0, 2, 70)
        else:
                if myUsrf.Distance(5) < 40 and myUsrf.Distance(3) > 40:
                        drive.Out(0, 1, 70)
                else:
                        drive.Out(0, 1, 0)
Чтобы запустить программу, указываем каталог, в котором находится программа. Для этого пишем: "cd projects", "cd SERob3", "cd robots". Затем запускаем программу: "sudo python2" и название файла - "escaping.py".

Terminal:

Code: Select all

cd projects
cd SERob3
cd robots
sudo python2 escaping.py
Вот и все. Мы получили необходимого нам робота.

Attachments
Screen Shot 2020-05-06 at 21.11.10.png
Screen Shot 2020-05-06 at 21.11.10.png (76.31 KiB) Viewed 104113 times
Screen Shot 2020-05-06 at 21.10.41.png
Screen Shot 2020-05-06 at 21.10.41.png (104.91 KiB) Viewed 104113 times

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

Example of an Escaping Robot

Post by davbaghdasaryan »

Today we will create an example of an escaping robot through Python programming language. This requires
1) SERob3 controller
2) Ultrasonic sensor range finder(Usrf)
3) 2 Motors one of which is located on the left side of the robot to operate the left-hand wheels, the other-on the right to operate the right-hand wheels
Connect the first motor with the Pin 0 from the “Motors” section of SERob3 and the second motor- with the Pin 1 of the same section.
Connect the front rangefinder with the pin 3 and pin 4 of D In/0 section. The back rangefinder must be connected with the Pin 5 and Pin 6.
Pictures
Screen Shot 2020-05-06 at 21.11.10.png
Screen Shot 2020-05-06 at 21.11.10.png (76.31 KiB) Viewed 104085 times
Screen Shot 2020-05-06 at 21.10.41.png
Screen Shot 2020-05-06 at 21.10.41.png (104.91 KiB) Viewed 104085 times
Screen Shot 2020-05-06 at 21.10.21.png
Screen Shot 2020-05-06 at 21.10.21.png (106.04 KiB) Viewed 104085 times
So, we finished the scheme. Let's move on to software.

In order to create the program we use “drive”, “Usrf” and “time” libraries. Register the “Usrf” as “myUsrf”.
In order to continue the subsequent operations uninterrupted we need to use the “while (1)” command. Wait for 0.3 seconds before starting the checkings(“time.sleep(0.3)).
Code:

Code: Select all

from SERob3 import drive
from SERob3 import Usrf
import time
myUsrf = Usrf()

while (1):
        time.sleep(0.3)
If the distance of the front rangefinder is less than 40 cm from the barrier and the distance of the back rangefinder is more than 40 cm, then the robot must move backwards. Otherwise if the distance between the back rangefinder and the barrier is less than 40 cm, and more than 40 cm is the distance of the front rangefinder, then the robot moves forward.
If the above mentioned data does not match the robot, it must be in standing mode.
Code:

Code: Select all

        if myUsrf.Distance(3) < 40 and myUsrf.Distance(5) > 40:
                drive.Out(0, 2, 70)
        else:
                if myUsrf.Distance(5) < 40 and myUsrf.Distance(3) > 40:
                        drive.Out(0, 1, 70)
                else:
                        drive.Out(0, 1, 0)
Code example:

Code: Select all

from SERob3 import drive
from SERob3 import Usrf
import time
myUsrf = Usrf()

while (1):
        time.sleep(0.3)
        if myUsrf.Distance(3) < 40 and myUsrf.Distance(5) > 40:
                drive.Out(0, 2, 70)
        else:
                if myUsrf.Distance(5) < 40 and myUsrf.Distance(3) > 40:
                        drive.Out(0, 1, 70)
                else:
                        drive.Out(0, 1, 0)
In order to run the program, mention the catalogue where the program is located. Type “cd projects”, “cd SERob3”, “cd robots”. Then run the program with “sudo python2” and the filename “escaping.ру”.
Terminal:

Code: Select all

cd projects
cd SERob3
cd robots
sudo python2 escaping.py
So, we got the results we needed.


Post Reply