سنسور قطب نما (compass)

یکی از سنسورهای مهمی که در ربات‌های فوتبالیست استفاده می‌شود سنسور قطبنما است. با این سنسور می‌توان زاویه ربات را اندازه گرفت و جهت حرکت آن را تنظیم کرد. واحد اندازه گیری این سنسور رادیان است و می‌توان جهت سهولت در استفاده آن را به درجه تبدیل کرد. در برنامه زیر مقدار این زاویه بر حسب درجه چاپ می‌شود. همانطور که مشاهده می‌کنید، جهت مثبت به سمت چپ و جهت منفی به سمت راست می‌باشد. زاویه صفر درجه نیز به سمت بالای زمین می‌باشد

robot1.py
# rcj_soccer_player controller - ROBOT Y1
from rcj_soccer_robot import RCJSoccerRobot, TIME_STEP
from math import *

class MyRobot1(RCJSoccerRobot):
    def run(self):
        while self.robot.step(TIME_STEP) != -1:
            if self.is_new_data():
                a = degrees(self.get_compass_heading())
                print(a)

تمرین 5: برنامه ای بنویسید که، یکی از ربات ها ابتدا به زاویه 90 درجه بچرخد و سپس به جلو و عقب حرکت کند.

تمرین 6: برنامه ای بنویسید که، یکی از ربات ها به سمت یک زاویه دلخواه بچرخد. سرعت موتورها با اختلاف زاویه فعلی و زاویه انتخابی ربات نسبت مستقیم داشته باشد. یعنی هرچه ربات از زاویه انتخابی دورتر باشد با سرعت بیشتری بچرخد و هرچه به زاویه نزدیکتر شود از سرعت خود بکاهد.

تمرین 7: برنامه ای بنویسید که، یکی از ربات ها 2 ثانیه به بالا و دو ثانیه به سمت پایین بچرخد.

تمرین 8: برنامه ای بنویسید که، یکی از ربات روی محیط یک مربع فرضی حرکت کند.

دیدگاه کاربران

1000 دیدگاه
4.7 (میانگین امتیاز کاربران)