یہ ٹیوٹوریل کا حصہ ہے: SunFounder Rasberry Pi Pico Pico 4WD اسمارٹ کار کٹ
اس گروپ سے متعلق فائلیں ایک ساتھ دکھائی جائیں گی۔ دیگر ویڈیوز کے لنکس اس مضمون کے نیچے ہیں۔
کورس سبق 9 از 10: راسپبیری پائیکو 4WD اسمارٹ کار کا استعمال کرتے ہوئے رکاوٹوں سے بچنا
تعارف
یہ گائیڈ، روبوجیکس کے کورس سبق 9 از 10 پر مبنی، سن فاؤنڈر راسپبیری پائی پیکو 4WD اسمارٹ کار کٹ کا استعمال کرتے ہوئے رکاوٹ سے بچنے والا روبوٹ بنانے کا طریقہ ظاہر کرتی ہے۔ یہ پروجیکٹ سروو سے چلنے والے الٹراسونک سینسر کو موٹر کنٹرول کے ساتھ ملا کر ایک ایسا روبوٹ بناتا ہے جو اپنے ماحول میں خود مختاری سے گھوم سکتا ہے۔ سینسر کو ریڈار کی طرح گھما کر، کار رکاوٹوں کا پتہ لگاتی ہے اور آگے بڑھنے کے لیے ذہانت سے صاف راستہ منتخب کرتی ہے، جو اسے روبوٹکس، سینسر انٹیگریشن، اور خود مختار نیویگیشن کا بہترین تعارف بناتی ہے۔
یہ پروجیکٹ صرف ایک کھلونا نہیں ہے؛ یہ بہت سے عملی استعمالات کی بنیاد ہے۔ یہاں کچھ خیالات ہیں جو آپ کو متاثر کر سکتے ہیں:
- خود مختار تلاش کرنے والا روبوٹ: ایک روبوٹ بنائیں جو انسانی مداخلت کے بغیر کمرے یا بیرونی علاقے کا نقشہ بنا اور تلاش کر سکے۔
- سمارٹ ویکیوم کلینر: انہی اصولوں کو استعمال کرتے ہوئے ایک روبوٹ بنائیں جو کمرے میں گھومے، فرنیچر اور دیواروں سے بچتے ہوئے صفائی کرے۔
- سیکیورٹی گشت روبوٹ: کار کو ایک حدود کی گشت کرنے کے لیے پروگرام کریں اور الٹراسونک سینسر کا استعمال کرتے ہوئے غیر متوقع رکاوٹوں یا مداخلت کا پتہ لگا کر رپورٹ کرے۔
- AI کے لیے تعلیمی پلیٹ فارم: اس پروجیکٹ کو پاتھ فائنڈنگ اور سمولٹینیئس لوکلائزیشن اینڈ میپنگ (SLAM) جیسے زیادہ پیچیدہ الگورتھم سیکھنے کے لیے ایک قدم کے طور پر استعمال کریں۔
یہ سبق بنیادی منطق اور کوڈ پر مرکوز ہے جو کار کو فیصلے کرنے کے قابل بناتا ہے۔ کار ایک سروو موٹر کا استعمال کرتے ہوئے الٹراسونک سینسر کو گھماتی ہے، جو 0 سے 180 ڈگری تک فاصلوں کی پیمائش کرنے والے ریڈار کی طرح کام کرتا ہے۔ کوڈ اس ڈیٹا کا تجزیہ کر کے سب سے چوڑا خالی راستہ تلاش کرتا ہے اور کار کو اس کے مطابق آگے، بائیں، یا دائیں جانے کی ہدایت دیتا ہے۔ ویڈیو پورے عمل کو ظاہر کرتی ہے، انفرادی اجزاء کی جانچ سے لے کر حقیقی دنیا کی بھولبلییا میں حتمی رکاوٹ سے بچاؤ الگورتھم چلانے تک۔
ہارڈویئر/اجزاء
یہ پروجیکٹ سن فاؤنڈر راسپبیری پائی پیکو 4WD اسمارٹ کار کٹ پر مبنی ہے۔ اس سبق میں استعمال ہونے والے ضروری اجزاء یہ ہیں:
- راسپبیری پائی پیکو مائیکروکنٹرولر بورڈ
- سن فاؤنڈر 4WD اسمارٹ کار چیسس جس میں چار موٹریں ہیں
- موٹر ڈرائیور بورڈ
- الٹراسونک فاصلہ سینسر (HC-SR04 قسم)
- سروو موٹر (الٹراسونک سینسر کو گھمانے کے لیے)
- بجلی کی فراہمی (کار کے لیے بیٹریاں)
وائرنگ گائیڈ
سن فاؤنڈر کٹ آسان اسمبلی کے لیے ڈیزائن کی گئی ہے، اور وائرنگ عام طور پر ایک مخصوص توسیعی بورڈ کے ذریعے پہلے سے جڑی ہوتی ہے۔ الٹراسونک سینسر سروو موٹر پر نصب ہوتا ہے، جو پھر مرکزی کنٹرول بورڈ سے جڑا ہوتا ہے۔ یہ سیٹ اپ سینسر کو ماحول کو اسکین کرنے کے لیے گھومنے کی اجازت دیتا ہے۔ اپنی کٹ کے لیے تفصیلی وائرنگ ڈایاگرام کے لیے، براہ کرم سرکاری سن فاؤنڈر دستاویزات دیکھیں۔
بنیادی کنکشن میں الٹراسونک سینسر کے ٹرگر اور ایکو پن، اور سروو موٹر کا سگنل پن شامل ہیں، یہ سب راسپبیری پائی پیکو کے مخصوص GPIO پنوں سے جڑے ہوتے ہیں۔ موٹر ڈرائیور بھی چار ڈرائیو موٹروں کو کنٹرول کرنے کے لیے پیکو سے جڑا ہوتا ہے۔ ویڈیو میں ذکر کیا گیا ہے کہ مکمل دستاویزات، بشمول وائرنگ ڈایاگرام، کٹ کے ساتھ ڈاؤن لوڈ کے لیے دستیاب ہیں۔
کوڈ کی وضاحت
یہ سبق `obstacle_avoid` مثال کے اندر موجود منطق پر مرکوز ہے۔ کوڈ مائیکرو پائتھون میں لکھا گیا ہے۔ جبکہ مکمل پروگرام ڈاؤن لوڈ کے لیے دستیاب ہے، ہم ان اہم، صارف کے قابل ترتیب پیرامیٹرز پر توجہ مرکوز کریں گے جو کار کے رویے کو کنٹرول کرتے ہیں۔ یہ عام طور پر اسکرپٹ کے اوپری حصے میں پائے جاتے ہیں۔
یہاں اہم متغیرات ہیں جنہیں آپ اپنے روبوٹ کی کارکردگی کو بہتر بنانے کے لیے ایڈجسٹ کر سکتے ہیں:
# ریڈار اور حرکت کے پیرامیٹرز
radar_reference = 20 # کم از کم فاصلہ سینٹی میٹر میں جو محفوظ سمجھا جائے
step_angle = 10 # ہر ریڈار اسکین مرحلے کے لیے زاویہ میں اضافہ
forward_speed = 30 # آگے بڑھنے کے لیے موٹر کی رفتار (0-100)
turn_speed = 50 # مڑنے کے لیے موٹر کی رفتار (0-100)
forward_scan_angle = 50 # وہ زاویہ جو سروو اسکین کرتا ہے جب کوئی رکاوٹ نہ ہو
- radar_reference: یہ سینٹی میٹر میں اہم حفاظتی فاصلہ ہے۔ اگر کوئی رکاوٹ اس قدر سے قریب پائی جائے تو کار اسے "خطرہ" سمجھ کر بچاؤ کی تدبیر شروع کرے گی۔ ویڈیو میں، یہ 20 سینٹی میٹر پر سیٹ ہے۔
- step_angle: یہ ریڈار اسکین کی ریزولوشن کی وضاحت کرتا ہے۔ چھوٹی قدر (مثلاً 10 ڈگری) کا مطلب زیادہ تفصیلی اسکین ہے لیکن اس میں زیادہ وقت لگتا ہے۔ بڑی قدر تیز ہوگی لیکن تنگ رکاوٹوں سے محروم رہ سکتی ہے۔
- forward_speed اور turn_speed: یہ موٹروں کو بھیجی جانے والی طاقت کو کنٹرول کرتے ہیں۔ آپ انہیں کار کی مجموعی رفتار اور چستی تبدیل کرنے کے لیے ایڈجسٹ کر سکتے ہیں۔ مڑنے کی رفتار اکثر زیادہ سیٹ کی جاتی ہے تاکہ کار مؤثر طریقے سے گھوم سکے۔
- forward_scan_angle: جب آگے کوئی فوری خطرہ نہ ہو تو کار اپنے اسکین کو اس زاویے تک محدود کر دیتی ہے (آگے پر مرکوز) تاکہ اپنے براہ راست راستے میں رکاوٹوں کو زیادہ کثرت سے چیک کر سکے، جس سے آگے کی حرکت ہموار ہوتی ہے۔
ویڈیو میں فیصلہ کرنے کی اہم منطق کی بھی وضاحت کی گئی ہے۔ ایک فنکشن `get_direction()` فاصلے کی ریڈنگز کی فہرست (محفوظ/غیر محفوظ کے لیے 1s اور 0s میں تبدیل شدہ) کا تجزیہ کرتا ہے تاکہ "1s" کا سب سے چوڑا مسلسل راستہ تلاش کیا جا سکے۔ اس بات پر مبنی کہ یہ سب سے چوڑا راستہ کہاں ہے، فنکشن ایک سمت لوٹاتا ہے: "آگے"، "بائیں"، یا "دائیں"۔ مرکزی لوپ پھر متعلقہ عمل انجام دیتا ہے، کار کو موڑتا ہے اور دوبارہ اسکین کرتا ہے جب تک کہ آگے کا راستہ صاف نہ ہو جائے۔
لائیو پروجیکٹ/مظاہرہ
ویڈیو پروجیکٹ کا مکمل مظاہرہ فراہم کرتی ہے۔ یہ الٹراسونک سینسر کو اکیلے جانچ کر شروع ہوتی ہے تاکہ یہ دکھایا جا سکے کہ یہ فاصلہ کیسے ناپتا ہے اور اقدار کو شیل پر پرنٹ کرتا ہے۔ انسٹرکٹر پھر فلو چارٹ کا استعمال کرتے ہوئے رکاوٹ سے بچنے کے الگورتھم کی وضاحت کرتا ہے، بائیں اور دائیں مڑنے کے فیصلہ سازی کے عمل کی تفصیل دیتا ہے۔ آخر میں، کار کو خانوں سے بنی ایک چھوٹی بھول بھلی میں رکھا جاتا ہے تاکہ رکاوٹ سے بچنے کے مکمل رویے کا عملی مظاہرہ کیا جا سکے۔ کار کامیابی سے بھول بھلی میں گھومتی ہے، آگے کا صاف راستہ تلاش کرنے کے لیے بائیں اور دائیں مڑتی ہے۔
ویڈیو ابواب
- [00:00] رکاوٹ سے بچنے کا تعارف
- [01:31] سن فاؤنڈر اسمارٹ کار کٹ اور خصوصیات کا جائزہ
- [02:47] رکاوٹ سے بچنے کی خصوصیت کیسے کام کرتی ہے
- [03:34] الٹراسونک سینسر کی جانچ
- [07:45] رکاوٹ سے بچنے کے الگورتھم اور فلو چارٹ کی وضاحت
- [12:49] مرکزی رکاوٹ سے بچنے والے کوڈ کا تجزیہ
- [15:43] رکاوٹ سے بچنے کی منطق کا لائیو مظاہرہ
- [22:53] رکاوٹوں کی بھول بھلی کے ساتھ حتمی مظاہرہ
- [24:35] نتیجہ اور اگلے اقدامات
یہ ٹیوٹوریل کا حصہ ہے: SunFounder Rasberry Pi Pico Pico 4WD اسمارٹ کار کٹ
- کورس سبق 1 از 10: Raspberry Pi Pico 4WD اسمارٹ کار کٹ از سن فاؤنڈر بذریعہ روبو جیکس
- کورس سبق 2 از 10: Raspberry Pi Pico 4WD سمارٹ کار کٹ چلانے کے لیے بنیادی Python
- کورس سبق 3 از 10: سنفاؤنڈر کے ذریعے راسپبیری پائی پیکو 4WD اسمارٹ کار کٹ کو اسمبل کرنا (روبوجیکس کے ذریعے)
- کورس سبق 4 از 10: Raspberry Pi Pico توسعہ بورڈ برائے 4WD سمارٹ کار کٹ
- کورس سبق 5 از 10: کنٹرولنگ آر جی بی ایل ای ڈی ڈبلیو ایس ۲۸۱۲ بی از استعمال راسپبیری پائیکو
- کورس سبق 6 از 10: Raspberry Pi Pico 4WD سمارٹ کار کٹ کا استعمال کرتے ہوئے DC موٹرز کو کنٹرول کرنا
- سبق 7 از 10: لائن ٹریکنگ، کلف ڈیٹیکشن گری اسکیل سینسر کیلیبریٹ کریں راسپبیری پائی پیکو کار
- کورس سبق 8 از 10: Raspberry Pi Pico اسمارٹ کار – سبق 8: سروو موٹر اور آبجیکٹ فالو کرنا
- کورس سبق 10 از 10: Raspberry Pi Pico 4WD سمارٹ کار کٹ کو موبائل ایپ کے ساتھ کنٹرول کرنا
# Lesson 9/10 Pi Car Pico 4WD: Obstacle avoid
# Download and resource page https://robojax.com/RJT631
import pico_4wd as car
import time
car.RADAR_REFERENCE = 20
car.RADAR_STEP_ANGLE = 10
MOTOR_FORWARD_POWER = 30
MOTOR_TURNING_POWER = 50
FORWARD_SCAN_ANGLE = 50
car.set_radar_scan_angle(FORWARD_SCAN_ANGLE)
status = "Danger"
def get_dir(radar_data):
# get scan status of 0, 1
# print(radar_data)
radar_data = [str(i) for i in radar_data]
radar_data = "".join(radar_data)
# Split 0, leaves the free path
paths = radar_data.split("0")
# print(paths)
# print("paths: %s" % paths)
length_list = []
# Calculate where is the widest
for path in paths:
length_list.append(len(path))
if max(length_list) < 4:
return "left"
# Calculate the direction of the widest
i = length_list.index(max(length_list))
pos = radar_data.index(paths[i])
pos += (len(paths[i]) - 1) / 2
delta = len(radar_data) / 3
if pos < delta:
return "left"
elif pos > 2 * delta:
return "right"
else:
return "forward"
def main():
global status
# General
while True:
radar_data = car.radar_scan()
# print("radar_data: %s" % radar_data)
# If radar data return a int, means scan not finished, and the int is current angle status
if isinstance(radar_data, int):
if radar_data == 0 and status != "Danger":
print("Danger!")
status = "Danger"
car.move("stop")
car.set_radar_scan_angle(180)
continue
else:
status = "Save"
direction = get_dir(radar_data)
if direction == "left":
print("turn left")
distance = car.get_radar_distance_at(-FORWARD_SCAN_ANGLE/2)
time.sleep(0.5)
car.move("left", MOTOR_TURNING_POWER)
while True:
distance = car.get_radar_distance_at(-FORWARD_SCAN_ANGLE/2)
status = car.get_radar_status(distance)
if status == 1:
break
car.move("stop")
car.set_radar_scan_angle(FORWARD_SCAN_ANGLE)
elif direction == "right":
print("turn right")
distance = car.get_radar_distance_at(FORWARD_SCAN_ANGLE/2)
time.sleep(0.5)
car.move("right", MOTOR_TURNING_POWER)
while True:
distance = car.get_radar_distance_at(FORWARD_SCAN_ANGLE/2)
status = car.get_radar_status(distance)
if status == 1:
break
car.move("stop")
car.set_radar_scan_angle(FORWARD_SCAN_ANGLE)
else:
print("forward")
car.set_radar_scan_angle(FORWARD_SCAN_ANGLE)
car.move("forward", MOTOR_FORWARD_POWER)
try:
main()
finally:
car.move("stop")
car.set_light_off()
Common Course Links
- Purchase SunFounder Pico 4WD Smart Car Kit from AliExpress
- Purchase SunFounder Pico 4WD Smart Car Kit from eBay
- Amazon Canada: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon France: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Germany: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Italy: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Japan: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Spain: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon UK: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon USA: Purchase Pico 4WD Smart Car Kit buy SunFounder
- Purchase Pico 4WD Smart Car Kit from SunFounder.com
- SunFounder Pico-4wd Car Kit Documentation
- Video Play List of 10 lesson on SunFounder Pico 4WD Smart Car Kit
آپ کو جن چیزوں کی ضرورت ہو سکتی ہے
-
ای بے
-
علی ایکسپریسPurchase SunFounder Pico 4WD Smart Car Kit from AliExpresss.click.aliexpress.com
وسائل اور حوالہ جات
ابھی تک کوئی وسائل نہیں۔
فائلیں📁
ریسپبیری پائی کوڈ
-
Sunfounder's Raspberry Pi Pico 4WD card codesall the codes for the Sunfounder's Raspberry Pi Pico 4WD
pico_4wd_car-main.zip0.02 MB