SERob3 (python) - Փախչող ռոբոտի օրինակ
Posted: Wed May 06, 2020 9:20 pm
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:
Սխեման ավարտեցինք, անցնենք ծրագրին:
Ծրագիրը ստեղծելու համար օգտվում ենք «drive», «Usrf» եւ «time» գրադարաններից։ Գրանցում ենք «Usrf»-ը որպես «myUsrf»։
Գործողություններն անդադար շարունակելու համար օգտագործում ենք «while (1):» հրամանը։ Ստուգումներից առաջ սպասում ենք 0.3 վայրկյան՝ «time.sleep(0.3)»։
Ստուգում ենք, եթե դիմացի հեռաչափի հեռավորությունը արգելքից փոքր է 40 սմ-ից, իսկ հետին հեռաչափինը՝ մեծ է 40 սմ-ից, ապա ռոբոտը պետք է շարժվի հետ։ Հակառակ դեպքում, եթե հետին հեռաչափի եւ արգելքի միջեւ հեռավորությունը փոքր է 40 սմ-ից, իսկ առջեւինը՝ մեծ է 40-ից, ապա ռոբոտը շարժվում է առաջ։ Իսկ եթե այս իրավիճակները չեն համապատասխանում ռոբոտին, ապա այն գտնվում է կանգնած վիճակում։
Ծրագիրն աշխատացնելու համար նշում ենք այն կատալոգը, որտեղ գտնվում է ծրագիրը։ Դրա համար գրում ենք․ «cd projects», «cd SERob3», «cd robots»։ Այնուհետեւ աշխատացնում ենք ծրագիրը․ «sudo python2» եւ ֆայլի անվանումը՝ «escaping.py»:
Վերջ․ ստացանք մեզ անհրաժեշտ ռոբոտ
Այսօր կստեղծենք ռոբոտի օրինակ 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:
Սեղմեք այստեղ
Ծրագիրը ստեղծելու համար օգտվում ենք «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)
Սեղմեք այստեղ
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)
Սեղմեք այստեղ
Code: Select all
cd projects
cd SERob3
cd robots
sudo python2 escaping.py