|
به نظر می رسد که شما عضو سایت نیستید و یا وارد نشده اید, امکان ارسال مطلب و دانلود فایل و همچنین دسترسی به انجمن هایی که فقط اعضا ثبت نام شده امکان دسترسی به آن را دارند از امتیازات ثبت نام در سایت میباشد. لطفا از طریق این لینک برای ثبت نام اقدام نمایید. |
|
| جدیدترین موضوعات انجمنها | |
|
|
||||||||
![]() |
|
|
LinkBack | ابزارهای موضوع | نحوه نمایش |
|
|
#1 |
|
مدير ارشد
![]() |
در اين تاپيك سعي مي گردد عوامل تعيين كننده در چيدمان ربات تعقيب خط مشخص گردد..
لازم به ذكر است كه در يك چيدمان 1-تعداد سنسور 2- شكل قرار گيري 3-فاصله و زاويه از هم 4-نحوه ي خواندن سنسورها مهم مي باشد. چگونگي تعيين اين عوامل با ذكر مثال و نقد و بررسي آنها موضوع اين تاپيك خواهد بود...
__________________
معشوق من چنان لطیف است که خود را به بودن نیالوده است...
|
|
|
|
|
|
#2 | |||||||||
|
كاربر سايت
![]() تاریخ عضویت: Mar 2009 نوشتهها: 45
تشكرها: 46
42 بار تشكر شده در 24 پست
درجه: 5 [ ![]() ![]() ![]() ]سابقه: 0 / 112 ![]() |
Overview Line tracking is a very important notion in the world of robotics as it give to the robot a precise, error-less and easy to implement navigation scheme.As you may have seen, many robotics competitions promote this concept, by adding lines on the playground for the robot to follow, or sometimes, the sole purpose of the competition is to race with other robots following a line along a track. In this tutorial, I am going to rely on the experience achieved by building the line sensors of the robots that participated to the robocon 2007 competition. ![]() 1. Number of cells in a sensor A line sensor is one that will gather information about the position of a line traced on the ground underneath the robot, to help it to navigate through an eventual grid of lines and intersections. For the software to function correctly, the sensor's electronic circuits have to provide a maximum number of information about that line. As you can see in figure 1, a line sensor is composed of a number cells and each cell is composed of a sender and a receiver. The particularity of this sender/receiver pair, is that it sends light that shall be reflected by the line to be detected but not by the eventually opaque background surrounding this line. Any sender/receiver pair that is able to make a difference between a line and the rest of ground (of a different color) can be used in a line sensor. Usually, to make it easier on the designer of the sensor, there is an important contrast between the line and the ground (for example: white line on a dark blue ground), But in case there isn't enough contrast, there is a method to easily build a line sensor adapted to that specific situation, relying on old physics rules ![]() Figure 1 So the first aspect that affects the precision and the quality of a line sensor, is the number of cells. Some roboticists use only 2 cells to know whether the line is at the left or at the right of the robot, but as you shall see later in the software part, this very poor source of information wont allow the controller to gradually guide the robot back on the track, instead you will notice that the robot will keep brutally turning right and left, but will never be able to smoothly follow the line. On the other hand, an 8 cells line sensor will give a spectrum of relatively rich information to the controller, indicating whether the robot is very close to the line, close, far, or very far away. This variety of information will allow the controller to take actions that are proportional to the distance between the robot and the line, resulting in a smooth line tracking system. 2- Distance between the cells The second aspect the be considered when building a line sensor, is the cell spacing (or the distance between a cell and the other). To understand the effect of cells spacing, consider the differential drive robot shown in figure 2, with an 8 cells line sensor, whose cells are numbered from 1 to 8 (from the left to the right). Three different situations are shown, In the first one, the cells 4 and 5 detect the line, indicating that the robot is perfectly centered on the line. In the first situation, the spacing between the cells is not very critical, but if the robot accidentally makes a 10° turn away from the line (second situation), you will notice that only the cell number 6 detect the line, which is the only indication that the controller will have about that 10° error. This means that, most probably, an error smaller than 10° wont even be noticed. But in the third situation, the cells are closely collated together, and you can notice that with the same 10° deviation from the line, the sensor's cells 6 and 7 detected the line, leaving some other possible states in between the perfectly centered position and the 10° deviation. In other words, the closer are the cells from each others, the more will be the resolution of the sensor. The same effect can be observed by changing the distance between the sensor and the center of steering. In general, It is important to always try to keep the sensor as far as possible from the center of steering, which is the back of the robot in a differential steering one, because this will also help to amplify the deviation detected by the sensor, resulting in a better response ![]() Figure 2 3. Building the sensor There are many electronic components that can be used to build the sender/receiver cells of a line sensor. Two of them are discussed in this article, showing the advantages and disadvantages of each one, and showing how to implement each one of them in an electronic circuit. IR LEDs LDRs and LEDs This method relies on our famous IR proximity sensor with some modification. It has the advantage of being cheap and easy to implement, but unfortunately need an important contrast between the line and the ground. Refer to the this tutorial for more information.When you need to adapt to low contrast situations, as discussed before, this is the most common alternative. You chose the most suitable color of LED for sending the light, then, the LDR will pick up the reflected light, but it's slower to respond than IR LEDs. ![]() Figure 3.A: One cell implementation ![]() Figure 3.B:One cell implementation D2: Receiver LED R6: Sensitivity adjustment D1: Emitter LED R1: Sensitivity adjustment After a lot of experiments, I personally recommend the LDR based line sensor because it can be easily adapted to many different environments by adjusting the sensitivity using the potentiometer R1 or by changing the color of the LED D1. Here is the electronic circuit of the LDR based line sensor we used in our robots in the Robocon 2007 competition. As you can see it is composed of eight cells, each one resembling the cell in figure 3.B. There are many reasons to choose to build a sensor with exactly eight cells, no more, no less: Eight can provide enough precision, it connects directly to one port of the microcontroller, and is represented by one single Byte of data, making it easier to implement in the programming and in the memory of an 8 bit microcontroller. ![]() Figure 3.C The wire connections W3 to W10 are the outputs of the 8 cells of the sensor. The value of R1 to R9 cannot be lower than 50 ohm, actually this value is very low and that's why the sensor sinks a lot of current. You may try to use larger values first, like 220 ohm, then if the intensity of the light is not en ought, reduce it gradually. You will also notice that there are 9 sender LEDs (not 8), that's because the the LEDs and the LDRs are positioned in such a way that each LDR has one led on its right and another on its left (as you can see in figure 3.D). The purpose of this technique is to make sure all LDRs share the same reflected light intensity, and this way, only one potentiometer can be used to calibrate all of them. ![]() Figure 3.D . |
|||||||||
|
|
|
|
|
#3 | |||||||||
|
كاربر سايت
![]() تاریخ عضویت: Mar 2009 نوشتهها: 45
تشكرها: 46
42 بار تشكر شده در 24 پست
درجه: 5 [ ![]() ![]() ![]() ]سابقه: 0 / 112 ![]() |
4. Proportional Control Algorithms Now that your sensor is working and is providing a correct reading of the line underneath it, you still need to develop some algorithms to use the data collected from the line sensor. The quality of those algorithms is as important - if not more important - than the quality of the sensor it self. Its those software procedures that will give to the robot the ability to smoothly and correctly track lines in a grid of lines and intersections, perform 90° turns and many others moves that can be implemented in such a lines grid.Proportional Control, which is usually used in line following algorithms, means that the intensity of the rotation of the robot towards the line is proportional to the distance between that robot and the line. In other words, if the center of the robot is positioned exactly on the line, the rotation of the robot will be equal to zero, but if the robot gets deviated from the center of the line, the intensity of the rotation will gradually increase, until it reaches maximum intensity if the line is completely out of reach. This proportional Algorithm will prevent the robot from oscillating to the right and to the left of the line while trying to follow it. What I mean by the intensity of rotation, is the speed at which the wheels will turn (in a differential steering robot) or the angle of the front wheel (in a car-like steering robot). This may be true in theory, but in practice, due to the non-linearity of the behavior of DC motors, and many others sources of error that cannot be clearly defined, the robot would still oscillate while trying to track the line, and would sometimes fail, because the error would eventually increase instead of decreasing. That's why the proportional control scheme have to be tailored for each robot, depending on it's moment of inertia, on the type of motor, on it's weight and on many other factors. After lot of testing, the graph in figure 4.A shows a control scheme that proved to work correctly on most differential steering robots. Figure 4.A represents a relation between the speed that should be applied on the right and left wheels of a differential steering robot and the position of the line relative to the center of the robot. As you can see, for an 8 cell line sensor, the line is considered to be at the center of the robot when it reads 4.5, while it is considered to be totally at the left when the first cell of the sensor is detecting the line. The only thing you may have to to do, is to define the value of Smax suitable to your robot. The easiest way to do this is by trial and error. You will probably notice that High values of Smax will result in very fast response, but with a lot of oscillations. ![]() Figure 4.A In order to precisely control the speed of the motors in a differential drive robot, you need to adapt what is called closed loop speed control of DC motors, which is explained in detail in this tutorial. For a 8051 microcontroller programmed in C, here is an example source code of a function named follow_line() which when called, reads the value of the sensor which is connected to port 0, calculates the average then deduces the required speed of the right and left wheels to smoothly adjust the robot to the line. کد PHP:
} Note that this code is not stand-alone, it is a part of more complicated program that contains the the closed loop speed control and many other functions allowing the robot to navigate according to a specific path. for example, the values 'req_left_pulses' and 'req_right_pulses' have to be fed to the closed loop speed controller. You will also notice that the speed is calculated in two steps, the first result is stored in 'req_right_pulses_' then the final result is stored in 'req_right_pulses'. This is because the graph in figure 4.A is composed of two independent linear relations, the first is for the readings from 1 to 4.5, and the other relation is for the rest of the readings, 4.5 to 8, (and the same applies to the 'req_left_pulses' variable). This is just an example, there are many ways to implement such a graph into a microcontroller program, it's up to you to see the most suitable method according to the architecture and organization of your program. 5- Navigation through lines and intersections Now that you know how to make your robot follow a line, you can use that same sensor to allow it navigate through a grid of horizontal and vertical lines as the one in figure 5.A, using the same 8 cells sensor. The main clue to an errorless navigation in such a maze, is to be able to precisely detect intersections. To do that, first you have to analyze the nature of those lines, the angle of intersections, and the different readings of the line sensor when crossing intersections. Actually, you have to adapt your code to each and every playground you expect you robot to navigate on. After a lot of testing we developed this simple technique to detect intersections, whatever the way the robot crosses it. ![]() Figure 5.A As you can see in figure 5.B, three different situations are shown, in each one of them, the robot crosses an intersection, coming from a different angle. The cells of the line sensor that detect the line are designated by bright red spots, while cells that don't detect it are designated by dark red spots. What we tried to do is to find what is common between those 3 different possibilities, and the following rule was developed to detect intersections: 'If one of the end cells (1 or 8) detects the line while one or more of the last 4 cells at the other end also detect the line, then the sensor is crossing over an intersection' In other words, for an intersection to be validated, the reading of the sensor must be as follow: Cell number 1 detect the line AND one or more of the cells 5 to 8 detect the line OR Cell number 8 detect the line AND one or more of the cells 1 to 4 detect the line Then you have to develop the code that will analyze the readings of the sensor, count intersection, and guide your robot through ![]() Figure 5.B scheme which is most suited to the environment of the robot. It's important to note that robot navigation is subject to many research and is still in an intensive development phase in the robotics labs around the world. I hope this article covered the main aspects required to construct a simple robot navigation system based on line following algorithms and helped to introduce some of the scientific principle behind the operation of such a system |
|||||||||
|
|
|
|
|
#4 |
|
مدير ارشد
![]() |
يكي از اساسي ترين مسلله ها در بحث ربات تعقيب خط بحث چيدمان سنسور آن مي باشد.اساسا تمامي مدار ها و نحوه ي درايو آنها در ايترنت براحتي يافت مي گرددولي آنچه كه وابسته به قوانين مسابقات است وبراي هر مسابقه متفاوت است و منبع درستي در ايترنت براي آن وجود ندارد چيدمان سنسورها است كه بايد بر چه اساسي صورت گيرد.
در اين پست وپست هاي آينده سعي مي كنم آنچه را در طي سلهاي تدريس و كار در اين زمينه كسب كرده ام راتوضيح دهم. اميدوارم دوستان با استفاه از تجربيات خود مرا در اين زمينه ياري كنند. از آنجا كه طراحي چيدمان سنسور وابسته به قوانين مسابقه است.بايد يك مساقه را به عنوان هدف انتخاب كنيم و روش ها را بر اساس ن يان كنيم. من مسابقات دانشگاه صنعتي نوشيرواني بابل را انتخاب مي كنم كه بزودي بر گزار خواهد شد.و سعي ميكنم ظرف چند روز طراحي لگوريتم و چيدمان سنسور را به اتمام برسانم. در زير لينك اين مسابقت را قرار مي دهم. http://www.robofire.ir/ براي شوع كار لازم است تمامي المان هاي مسير را كه در قوانين ذكر شده است به طور جداگانه داشته باشيم. مهم ترين و اساسي ترين مساله در طراحي يك چيدمان آن است كه ما بتوانيم بوسيله ي حالات مختلف آن چيدمان دقيقا حدس بزنيم كه ربات در كدام المان مسر قرار دارد. براي اين منظور ما بايد هر المان را جداگانه مورد بررسي قرار دهيم و چيدمان لازم جهت كشف آن را بدست اوريم و سپس با تركيب چيدمان ها و بهينه سازي آنها چيدمان نهايي را بدست بياوريم. با ارائه ي يك مثال در اين زمينه موضوع را روشن تر مي كنم... ادامه دارد...
__________________
معشوق من چنان لطیف است که خود را به بودن نیالوده است...
|
|
|
|
|
|
#5 | |||||||||
|
عضو جديد
![]() تاریخ عضویت: Feb 2010 محل سکونت: مبارکه نوشتهها: 20
تشكرها: 0
2 بار تشكر شده در يك پست
درجه: 3 [ ![]() ]سابقه: 0 / 55 ![]() |
سلام
می خواستم بدونم بهترین مقاومت برای فرستنده و بهترین مقومت برای گیرنده چقدر هست؟ در برخی طراحی ها دیدم گیرنده و فرستنده را کنار هم و در برخی دیگر پشت سر هم می گزارند به نظر شما کدوم حالت بهتره؟ در صورتی که حالت دوم بهتر هست فرستنده جلوتر باشد یا گیرنده؟ |
|||||||||
|
|
|
|
|
#6 |
|
مدير ارشد
![]() |
سلام...
در مورد مقاومت که باید بگم شدیدا وابستگی به نوع سنسورتون و نوع قرار دادنش در مدار داره... مثلا در مورد سنسور های دیودی که صرفا با تقسیم ولتاژ درایو میگردند.با استفاده از فرمول تفسیم ولتاژ و اندازه گیری مقدار min و max مقاومت خروجی سنسور ،و فرمول بهینه سازی می توان مقاومت مناسب را حساب کرد. در مورد دوم هم تقریبا میشه اثرشو نادیده گرفت.هر چند پیشنهاد می کنم گیرنده را همیشه نزدیکتر به خط قرار دهید....
__________________
معشوق من چنان لطیف است که خود را به بودن نیالوده است...
|
|
|
|
|
|
#7 |
|
مدیر بخش
![]() |
نوشته اصلی توسط n2ziaee
سلام... برای مقاوت فرستنده و گیرنده به عوامل زیادی بستگی داره... بستگی به نوع سنسور هم داره که چه نوعی استفاده می کنید... معمولا 330 یا 270 برای فرستنده در نظر می گیرند... اگه فرستنده هم به خط نزدیک باشه ، بازتابش خیلی میشه و ممکنه فاصله ی ولتاژی بین سفید و مشکی زیاد احساس نشه!! در حالت دوم هم فرستنده هم جلو تر باشه بهتره ، چون اول باید فرستده نور را بفرسته بعد گیرنده بگیره... اما در کل زیاد فرقی نداره... اگه فرستنده و گیرنده را به صورت افقی کنار هم بذارید برای بعضی جاها بهتره!! مثلا برای دیدن 90 درجه!! چون هر دو به صورت هم زمان می روند روی خط مشکی!!! موفق باشید
__________________
We fight through the hurt ... And we live and we learn ...
And we Try and Try And Try saeebrobotic.blogfa.com ________________________ We Are OpenSource ویرایش توسط mohamad.nasr : 08-28-2010 در ساعت 11:34 PM. |
|
|
|
|
|
#8 |
|
مدير ارشد
![]() |
دوست عزیزم ،
جناب آقای نصر .... بهتر نیست در نظراتتون کمی تجدید نظر کنید.به نظر کاملا غیر منطقی میاند.... لافل دلایلتونا ذکر کنید...
__________________
معشوق من چنان لطیف است که خود را به بودن نیالوده است...
|
|
|
|
|
|
#9 | |||||||||
|
عضو جديد
![]() تاریخ عضویت: Feb 2010 محل سکونت: مبارکه نوشتهها: 20
تشكرها: 0
2 بار تشكر شده در يك پست
درجه: 3 [ ![]() ]سابقه: 0 / 55 ![]() |
در مورد سنسور ها مشکلی دارم و اون اینه که مقاومت گیرنده در شرایطی که روی خط سفید هست و وقتی که نیست تقریبا برابر است فاصله های مختلف را چک کردم اما تفاوتی نداشت ....
سنسور های من مادون قرمز (IR) هستند و چون در دریافت اطلاعات از سنسور ها از adc استفاده می کنم نیاز به تفوت ولتاژ هنگام تغییر رنگ خط دارم ... لطفا راهنمایی کنید... |
|||||||||
|
|
|
|
|
#10 |
|
مدیر بخش
![]() |
سلام...
این عکس را نگاه کنید... ![]() در شکل َA به نظرتون بیم دیدی که هر دو سنسور ها بر روی خط قرار می گیرند نسبت به شکل 1 بیشتر نیست... پس میشه اینجا یک نتیجه ی خیلی خوب برای طراحی سنسورها و نحوه ی قرار گرفتن فرستنده و گیرنده گرفت... برای خط خمیده با انحراف کم اگه سنسورها به شکل B باشند بهتر نیست؟؟؟!؟!؟ در مورد اون قسمتهم که فاصله سنسور تا زمین باید بگم که اگه خیلی کم باشه یا شدت نور فرستنده زیاد باشه ، موجب میشه که روی خط سیاه هم نور بازتاب زیادی پیدا کنه... دقیقا من این مسئله را با سنسور cny70 تست کردم...!!! آقای اماما عزیز شما هم بعضی وقتا امضای خودتون یادتون میره ها....
__________________
We fight through the hurt ... And we live and we learn ...
And we Try and Try And Try saeebrobotic.blogfa.com ________________________ We Are OpenSource |
|
|
|
![]() |
| علاقه مندی ها (Bookmarks) |
| برچسب ها |
| ربات تعقیب خط, چیدمان سنسور |
| ابزارهای موضوع | |
| نحوه نمایش | |
|