Kent et IUT_VdA

Kent et IUT_VdA

Sunday, 12 January 2020

Welcome to the blog!

Hello and welcome to our blog!

If you are reading this, it is likely you are a first-year student at either Kent EDA or Ville d'Avray Institute of Technology. And you are about to participate in the 6th edition of our joint robotic challenge.

This is a friendly contest in which you will have to overcome many difficulties. The upshot is that you will learn a lot from the experience.

This blog was set up to allow you to report on the progress you make. Even though you are living and working on two different sides of the English channel you can get a glimpse via the blog at what students from the other institution are up against. Please, share your experience. Post pictures, comments and videos of your robots. Tell us about the mishaps you suffered and how you solved the problem. To create an internet link towards a video on YouTube: <a href="http://www.youtube.com/watch...> link_name </a>

On this blog you will also be able to access and download documents that concern the running of the contest. They will appear on the menu situated on the right hand side of the page.

Ladies and gentlemen, this blog is in your hands. Use it as often as possible. Good luck to you all.

65 comments:

  1. Robot performances' description :
    Our robot follows the blank track until the end. It travels rather quickly and takes 44 seconds to complete the track. It sways slightly during straight line. When it reaches the finish line, it stops immediately without crossing it.

    Tracking strategy explanation, settings parameters :
    First and foremost, we did a bunch of tests to know what the sensors’ values are depending on the colour spotted, and how fast the robot travels depending on the speed value write in the code. We then checked the datasheet of the power card to assign the pins in our code. We put the sensors as input and the motors as output. Our code is quite simple: if both the right and the left analogic sensors spot white colour and both the middle sensors spot the black line, then our robot move forward. As soon as one of the sensors left or right spot the black line, our robot turns in the opposite direction. In other words, if the left analogic sensor spots the line, our robot turns right, and if the right sensor spots the line, our robot turns left. The motors are set at roughly 17% of their maximum capacity. In the turns, the motor speed on the side of the turn is set to 0.

    Video : https://youtu.be/D44W2aHNSO0

    Clément, Sacha

    ReplyDelete
    Replies
    1. This comment has been removed by the author.

      Delete
  2. To program our robot, we first set up the pins to activate the motors and get the information from the sensors which will make the robot follow the line.
    Afterwards we created a bunch of constants which define all sort of information such as the straight-line speed or the precision of the sensors. Then we made all sort of variables that will change the behavior of the robot depending on the shape of the line, those variables are modified by the sensors.
    We used all the sensors of the center to follow the line, those in the middle follow the color black when the others on the side follow the color white. The robot increases the speed of one motor or the other depending on the level of grey the sensors get. There are also two sensors at the end of the sides which are used to detect markings on the side of the line during the run.
    The levels of grey got from the sensors are used to smoother the acceleration which is better than using sensors in binary mode.
    In the end, our strategy is to accelerate during straight lines and control as much as possible the oscillation by using the level of grey from the sensors.
    The robot struggle sometime to control its acceleration during the turns. However, it does not have much problem with its oscillations even though it could control even faster by modifying some variables.
    During our race, our robot was a bit late during the turns and oscillate a bit during the straight lines but after a couple of little right and left, it always got back straight and followed the line smoothly.
    However, it seemed that one motor was faster than the other and after making a turn the robot always made big shaking.
    Here is the video of our run

    Ghislain , Yannis

    ReplyDelete

  3. PROJET TUTORE S2
    During this project, we programed a robot with Arduino.
    At the beggining, we made a function to get the robot forward. We spent many hours to find the perfect power of the motors because we need our robot to be stable. Then we create other functions like the function to turn to the left side and one for the other side. Moreover we created 4 functions for the stabilisation of the robot (motors weren’t perfectly balanced so we decided to give more power to one of the motors).
    We also added many loops. It was usefull for the recognition of the white or the black color. Then with the loop « if », the robot was moving forward when there was the black color and abord if white.
    It was painful to test all the function one by one because of our robot’s battery was empty all the time. We also had only 3 robots for 6 teams.
    We met many obstacles with this project.
    First of all, power cables were defective, the Arduino cable too.
    Even though there were many problems, we had fun while programming it.
    It was the first time that we had to program on Arduino. That's why we were lost when we had to use the Infrared system.Then we learned a lot about it on YouTube.
    Thereafter we understood this system and we finally found the errors in our program( motor's name ).
    Finally, after many hours,our robot reached the finish line ! The robot finished the circuit in 40 second.
    Now we have to improve it, in order for it to be quicker. For the next few hours, we are going to use the ultrasound system.

    Here is a short video of our robot discovering the circuit :
    https://youtu.be/5j6PGalFTME

    Julien, Lionel

    ReplyDelete
    Replies
    1. We are a pair of participants in the line follower robot competition between the University of Kent and our establishment, the IUT Ville d'Avray. In this article we will present the different stages which allowed us to be efficient on a virgin track. During the first semester we designed a sensor card which will allow us to be able to collect information in order to be able to follow the line. Remember that the card is made up of 6 infra-red light sensors (4 analog, 2 digital). Programming the robot is possible thanks to an Arduino board which allows us to send instructions.

      The first thing we did was check if all the sensors were operational. Since we almost never programmed on this language, we used examples of programs given by the software. After replacing the sensors that didn't work, we started by thinking of a strategy so that we could follow the line.
      Tracking strategy:
      When a sensor on the right picks up the color black (this means that the robot deviates to the left), then the left motor is made to run stronger as long as the sensor on the right does not pick up white.
      This is the same reasoning for the left sensor, when a sensor on the left picks up the color black (this means that the robot deviates to the right), then the right motor is made to run stronger as long as the left sensor does not pick up white.
      When all the sensors pick up black, then the robot stop.

      At this point, our robot starts when the push-button is pressed, follows the line and stops at the finish line. Our Robot doesn’t go very fast but it is our choice because it allows us to be very stable. We finished the circuit in 49s and our robot really didn't oscillate much.
      Link :https://www.youtube.com/watch?v=HYRihwi1onU&feature=youtu.be
      Mohamed-Amine, Warren

      Delete
  4. FIRST ARTICLE

    Following of plain track

    PERFORMANCE AND CAPACITY

    The performance of Robot depends mostly on the batterie which it provided with the robot. We decided to adjust our motors left and right in analog because we have the possibility to manipulate the speed. Our Robot put 31 seconds to accomplish the path of the board, we could do better with the timing if we added more power to the tires and if we adjusted correctly the light sensors.

    As we saw in the video, our robot follows very well the line without oscillation thanks to our four middle tracking sensors analog which allows it to reposition itself all along the path. Our bends are created clearly, the robot slowed down when it came across them.

    For the finish line, we had decided to use all the sensors, when they captured the color black, the robot left the program and it executed the function to stop.

    For the following of the repositioning of the robot and the following the black line, we set an certain amount of light, in case one of the sensor in the middle sees white, the robot shift until it can see black. And finally to realize the bending, if the two sensors on the middle right sees black then the robot will know to turn left. And it is the opposite for the two middle left sensors

    To create this strategy, we had to test the main function of the robot. After all of this we had to assemble all the functions in a global program which called upon certain functions according to the robot’s position.

    https://www.youtube.com/watch?v=I87yvHl4O7k

    ReplyDelete
  5. HOUSSAM , GABRIEL

    ReplyDelete
  6. Today our robot is able to run on an obstacle-free track and to stop at the finish line.
    It takes about 42 seconds to complete the evaluation path. It has an average speed that allows us to be sure that it can make it to the end and not leave the circuit.
    Our robot follows the black line with some oscillations that have been well attenuated. The robot starts as soon as we press the push button, follows the black line and stops when it crosses the finish line.

    We chose to use two analogue sensors at the end to take the information for the robot to follow the black line. We have defined some constants for the robot, such as the power of the motors and the grey shade threshold between white and black.
    When these two sensors only see white then the robot goes straight. It goes at an average speed in straight lines in order not to gain too much speed for the sensors to be able to see the turn that follows, in the turns the power of the engines is increased to save time. We use only one of the two motors to turn in the following turns whether it is left or right.
    As for the stop at the finish line, all the sensors have to pick up black, which represents the finish line modelled by a black line.
    Our biggest problems are the robot's battery, which varies enormously and prevents us from having the same result each time we go over the track, and the infrared sensors, which are not very reactive and prevent us from increasing the speed of our robot under penalty of going off the track.
    Now we have to program the "360" functions, shortcuts and the detection of the obstacle by the ultrasonic sensor.

    The video where you can see our robot running the trajectory : https://www.youtube.com/watch?v=EOO3QqNYYIM

    Axel, Benoit TP5

    ReplyDelete
  7. This goal of this project is to realize an Arduino based robot capable of following a black line on a white background. But this not the whole point, indeed the idea is to race each other alternately against the Kent university, the winner will be the fastest or the smartest because you can earn time by making a 360 spin on the special marker place on the track or taking shortcuts.
    Now that we now the big picture, let’s dive on the more technical part of this project. As we said earlier this robot is based on an Arduino, it’s an electronics cards that allow us to program the robot infrared sensors and motors. First on the program we must set “parameters” on the input/output of the robot, so we set the sensor on input and the motor in output. Then we need assigned them pin so we search on the datasheet their location and pin number.
    Now that we are all set, these sensors and motors must be tweak to function as intended. For the 4 analog infrared sensors we need to know their value when they “see” the black line. For the motor we need to find the right speed on the track so they don’t miss the line.
    For the code itself, the idea is when the right sensor sees dark the robot turns right by increasing the speed on the left motor so the wheel spin more the right one a make the robot turn left. If it’s the left sensor that see the black line, it’s the reverse process that occurs. But when both sensors see white, the robot is moving forward with the same power applied on the 2 motors.

    TP7 Alexis Brice

    https://youtu.be/iZiedYz8_4w

    ReplyDelete
    Replies
    1. <a href="https://youtu.be/iZiedYz8_4w> video </a>

      Delete
  8. First and foremost the goal of this project is to program a competitive robot, he must be able to follow a black line as fast as possible. At first sight we could say it’s easy to do but to do perform functions we need to perfect the details. Firstly the first program was a program to flash a led when the robot starts. Moreover we have created a program to be able to test the sensors on our card in order to configure the sensor values. So that we can use this values for the main program.


    Furthermore our robot makes the race in 50 second, link below. Nevertheless we had some problem because the sensors don’t detect the line on turns when the speed was too hight. On top of that the line stop was a problem snce we had to set the values of the commands to the HIGHT value. It was necessary to put several conditions to be able to stop the robot completely. To conclude we think we should improve our program to make his race faster and more fluid

    https://www.youtube.com/watch?v=RODjbo6Jeko&feature=youtu.be


    TP7 Rani Ismaël

    ReplyDelete
  9. The Robotic challenge


    Today we are going to talk about the project of line follower robot without signage. Our robot’s program was made in 10 hours. During the programming we have met a lot of issues. For example the first robot didn’t charged. After had exchange the robot we got a new but its wheel gear was broken.

    Fortunately we have found a people who kindly lent us his robot. And now our robot’s works correctly.

    The robot is not very fast but it finishes the parkour as the specifications required indeed we needed to enslave one motor to each other to had the same speed on the motors. Thanks to our program’s the robot does not oscillate much and have regular movements.


    Renaud Nicolas et Hassani Loqman



    https://www.youtube.com/watch?v=Lpg7rjBGOWw&feature=youtu.be

    ReplyDelete
  10. Advancement Article
    During our first year of study in IUT Ville d’Avray, we are brought to create/encode a robot capable of complete a path in the best timing as possible.
    In this first article, we will talk about the progress we made during this preparation of the Robotic Tournament which oppose the University of Kent and the IUT Ville d’Avray.
    At this stage of the competition, our robots can easily finish a blank path or track. The main problem that have to deal with is that an important part the robots that we use are defectives.
    Actually, our strategy is to finish normally the track without using any shortcut because we haven’t create a code good enough to make it. At this moment we are focused on the best way to make a 360 degrees, the most “clean” as possible.
    By Pape and Benjamin

    ReplyDelete
  11. Hello everybody,
    We just finished working on our robot and realized our code. It was a bit difficult at first but now we are proud of the result (you can see the video on the link below, unfortunately we got a problem on our battery before the test so the robot was not having a lot of power). We expect to improve our code so it can go faster and straighter. We expect to go below the 30s line at the end of the day, at the moment we achieved 45 seconds at best but the battery was very low.
    At the moment we use only the 4 captors on the middle of the card, we keep the 2 on the edge to read the inscription on the track. For the finish line, when all captor see white the robot stop. We also make a program to make him go when we push a button so we can make it start when we want to.
    The link to our test : https://www.youtube.com/watch?v=-oR4mJBQWYQ&feature=youtu.be

    ReplyDelete
  12. Our robot goes off the track in 40 seconds, following the black track perfectly. It tends to oscillate a little, which allows it to constantly refocus on the track. Thus, in the turns, it will be ready to go left or right, depending on the bend it has to take. Our robot stops at the finish line, where the last black line is. For our race to be legal, the robot must start when we press the start button and stop at the finish line.

    Our strategy is to operate two analog sensors in the middle to allow the robot to move forward in a straight line by assigning the same speed to the two motors we use. It will only move forward in a straight line if both sensors pick up a black light. In order for the robot to be able to turn, we will then use the other two analog sensors that we did not use for the straight line movement. Let's imagine that only the left sensor detects black light, the robot will have to turn left and vice versa. The speed assigned to the motors of our robot is not the maximum speed, we have configured it so that it is about 1/3 of its maximum speed in a straight line and 1/5 of its maximum speed in a turn. We could increase its speed in the future to get better performance, but that depends on the robot's battery, which is very random. Our robot stops when all the analog sensors are on a white background. At first, we wanted it to stop when all the analog sensors were black, but when we work with signalling in the future, it might cause us some small problems.

    Here is the link to our video : https://youtu.be/jB0HWaoFZ9s

    Wissem & Victor

    ReplyDelete
  13. After few attempts and few mistakes we can say that now, our robot is able to follow a black line without signalization.
    However, before that result, we have encountered different difficulties.
    Indeed, we start by doing tests of each ultrasound sensor on an electronic card we designed and one of our sensor was not working. Then, we have done tests again with others ultrasounds sensors, other electronic cards, other flat cables and others robots, we have concluded that the real problem was our robot.
    For the program conception, the strategy was obvious for us. We will use four sensors:
    - Two to following black line
    - Two to check signalization
    Then, we had to try different codes with different speeds to find the perfect speed to go faster and without mistakes on the track. With that code, we just have seen that the robot had one problem, is not going perfectly straight on straight lines.
    During our last try, the robot was done the track and he was stopped at the end alone on 47 sec.

    Video : laske.fr/robotproject
    Nizar, Damien, TP2

    ReplyDelete
  14. This comment has been removed by a blog administrator.

    ReplyDelete
  15. Article N. 1 of Tutored Project
    During the beginning of the programming and the last tests on the track, we underwent an impressive evolution and learned a lot while we are only at the beginning of this cycle. We have integrated the program to follow the track with a few extras such as, the 360 degree rotation or even the push button that triggers the robot's path.

    Our strategy was to place the analog sensors as close to the center as possible and the digital sensors as far as possible in front of the robot. This made it possible to detect the output, the moment of rotation or even the shortcut as quickly as possible because digital sensors allowed faster detection than analogue sensors.

    Then the engine was connected to the sensors to recalibrate itself more or less to the left or right or go straight ahead depending on the design of the track. Our robot covers the virgin track in about fifty seconds, this is due to the fact that the colour sensors require a more absolute white dice to be able to move forward, a detail that we will change. Otherwise I don't think the power is really a problem because we had managed to do it in 42 seconds before the video but rather the battery was not recharged during the holidays and it was obvious because during two tests the car stopped dead in its tracks. The structure of the program consisted in carrying out several functions, testing them one by one and having them called in a loop in the hand, so in the video we can see below, our robot goes through the blank track without major worries.

    Yassine
    Ilyes
    TP2

    the video : https://www.youtube.com/watch?v=KwR4WjM_kZQ

    ReplyDelete
  16. During the 16 first hours of the project, we manage to make a program who use the switch to start the robot, see how motors are driven and how to use IR sensors to follow the track. After this we put all this little parts of codes together in the way to make the robot follow the line with IR sensors and stop at the end so in conclusion our robot follow the line and stop at the end now we try to succeed the track in less time by adjusting the speed of the robot. It came some times that the robot make 360 degree in a corner but manage to back on the line after.
    We had a best run at 31 seconds, which was perfect with minor oscillations in strait lines and good turns. But this perfect run wasn’t the one who was evaluate which one had a lower speed and littles oscillations that cause a longer run time but the stop remain good.
    This is our YouTube link to the video of our robot on track without signs:
    https://youtu.be/_m3MsyoDRYc
    By Alexandre and Alexandre.

    ReplyDelete
  17. To begin with, we created the different functions (“forward”, “turn right”, “turn left”, “line
    follower”). First, we connected the motors, the infrared sensors to the feet on the Arduino board.
    We created the “forward” function, we adjusted differently the right engine and the left one, so
    that the robot moves forward in a straight line. Moreover, we set the left wheel power to 58 and
    the right one to 50 because the right engine was more powerful than the left one.
    Then, we created the “turn right” and “turn left” functions. In a program, we assembled
    the different functions. As a result, our robot manages to follow the line and to get out. It also
    stops when the end line is detected.
    About the performance of your robot: Our robot comes out in 42 seconds; it oscillates
    slightly because of a gear problem on the robot. It stops at the end when the line arrives.
    The track tracking strategy is that to go forward, the robot uses the two middle sensors. Then, to
    rotate as soon as the two sensors detect the black colour, it turns either right or left and if the
    sensors detect the black colour, the robot stops.
    Video : https://www.youtube.com/watch?v=uPdIWMzNmVk
    Romain and Oneill

    ReplyDelete
  18. Hello world,
    For the second semester, we have to create and program a robot to follow track. During this work, we have to use ARDUINO. With this app (Arduino), we create a code who allow robot follows the track. At the beginning, make robot move forward isn’t easy. When we find greats functions, we only have to make robot follow the track with sensors below the robot, light sensors. To really use light, we have to set up different level of grey because the track is black and the rest of the tour is white. Goals are : do the track faster you can, the robot needs to stop at the end of the track.
    See our robot with this link : https://youtu.be/f5LJaukLSC0
    MITRAIL JLuc and FLEURY Aymeric

    ReplyDelete
  19. Today, we’re going to introduce you to our second project : the robotic challenge. The goal is to program a robot since the Arduino Software to guide it through a path without obstacles in a first time and with then.
    To begin, we have read the rules and the robot specifications.
    Then, the first step : we had to see if the sensors were able to detect black or white colors. So we make a program and try it… we met difficulties because we had a defective sensor card for many hours but we finally succeeded. Secondly we have evolved the robot’s program to turn the wheels according the results of what the sensors detected.
    Finally it was a success and the robot was moving if the sensors detected the black track.

    Video : https://youtu.be/iXxcjazd9us
    Poncin Kylian and Chaaya Anthony

    ReplyDelete
  20. Hello people
    Today we tell you about the project we have in PROT2.
    To advance in this said project we started by reading its specifications. The project consists in creating a robot capable of following a track with different obstacles. To do this we will use the Arduino software which allows to program the Arduino Uno board. To start we looked at how to find out if a sensor detects or not. Then we created the program to advance the wheels according to the detection of the sensor. To know whether to turn or not, we made sure to detect if, the sensor sees black or white.
    SETTEBOUN Guilad and BATAILLE Pierre
    https://youtu.be/9CPAiWU0maw

    ReplyDelete
  21. LE GOFF, HAYAT4 March 2020 at 15:12

    Hello Ladies and Gentlemen!

    For this contest, we built a robot programmable in Arduino. Our robot can easily exit the circuit, thanks to a operational program and its performant infrared sensors, which detect the colors on the circuit. Moreover it is able to detect obstacle on his front for later, with its ultra sound sensor.

    Robot Image :
    https://image.noelshack.com/fichiers/2020/10/3/1583316523-robot-perfect.jpeg

    Then we program the robot to check all the infrared sensors, it had to differentiate between black and white. At this step we note two of the six infrared sensors doesn’t work. We replaced them. This checking was very helpful for us.
    We start now the main program. The one who will follow the black line on the circuit, and who get our robot outside off the track. Our goal was to finish the track as quickly as possible. For following the track we programed only the four central sensors. With the support of technical documents we assigned the sensors at the right pins. Founding the right speed off motors was difficult. He have to modify the speed step by step. The problem was if the speed was too high, the robot cannot turn the corners. Finally we found the right speeds. Our robot done the track in 39 second.

    Robot Video:
    https://youtu.be/3CEmEOGTIsQ

    LE GOFF Melvin, HAYAT Adeel

    ReplyDelete
  22. We started out by testing the different modules of our robot.

    On the outboard side of each mentioned analog sensor we placed a digital sensor. This sensor has only two states: either on (1) or off (0).

    The sensor sends 0 when it sees white and 1 when it sees black. These sensors will help us in the latter stages of our project when we will introduce traffic signs on the track.

    In front of these sensors we placed two analog sensors which work in the same way as the other two analog sensors. These sensors help the robot detect curves in the track and help him turn properly in these curves: if either one of the sensors detects a ,shade a gray or black, this means the sensor is over the track and the robot has reached a curve. The robot then applies different speeds to each wheel to stay on the track.

    Once we managed to succesfully program all these parameters into the robot. The robot completed the circuit on average in 35 seconds with little oscillation and stopped correctly on the finish line.

    Robot
    https://youtu.be/fgAvwWLXQ0U

    BIZET Maxime and BERTUIT Marlone

    ReplyDelete
  23. Benjamin, Tarek TP34 March 2020 at 17:34

    Robotic challenge :
    The goal of this project is to program a robot on Arduino in order to allow him to follow a black line on a virgin track.
    The first thing to do was to set up the pins to activate sensors and motors.
    We started to program with functions that made the robot move forward, turn left and turn right.
    Then we tested it to adjust the speed of the motors.
    We used the sensors in the middle of the robot to detect the black line and the sensors on the sides of the robot to detect the white ground of the track, then we adjusted the sensibility of the sensors to detect a level of grey. The level of grey is important because the speed of the motors are depending on the level of grey the sensors will detect on each side to adjust the position of the robot on the track. For example if it detects more white on the left side, the right motor will decrease its speed a little to turn to the right, this is how the robot knows if there is a turn or if it needs to readjust its position.
    The robot is fast on straight lines but struggles a bit sometimes on turns because it struggles to do a smooth path and shakes a bit but when the turn is over the robot readjust itself in a good position.

    Video : https://youtu.be/a4kHp25wm_o
    Benjamin, Tarek
    TP3

    ReplyDelete
  24. Hello everyone!
    The goal of this project is to follow a black line in a track. It has to respect some rules (like 360° rotation or take a shortcut)., but for now we only want our robot to reach the finish line.
    Robot performance :
    Our robot is swinging slightly in straight line and the motors accelerates when taking sharp turns and makes sharp breaks . The robot stops when it sees the finish line and doesn’t exceed the line. The robot is quite fast, it accomplished the circuit in 27 seconds.
    Explanation on the strategy used during the first part of the project:
    First we did few tests with the sensors to see the value of each of them on the color black and white. Thanks to these tests we could make conditions which allowed our robot to turn or go in straight lines. Our strategy is not difficult, the two middle sensors are used to go straight and to avoid most of the oscillations by detecting level of color grey to rectify the trajectory. The two other analogic sensors are used to turn in all kinds of corners.
    Video link: https://www.youtube.com/watch?v=Vz5kRhdRGMY
    Christophe Quentin TP1

    ReplyDelete
  25. Romain, Pierre TP14 March 2020 at 20:39

    To program our robot, we first declared constants for each sensor as well as each motors, indicating the number of the pins corresponding to them, and defined them as inputs or outputs.
    We also created constants that define the robot speed, the button that starts the program, the number of pulses the robot must make for the calibration of the sensors.
    We have created variables that will allow us to store the information provided by the sensors, which will then allow our robot to modify its trajectory according to the gray level picked up by our sensors, and therefore to follow the black track.
    Finally, we made a condition that indicates our robot when the two sensors on the ends picks up black then when all the sensors picks up white to stop.

    We use the four other sensors that are in the center of the card to make our robot follow the track. The two sensors in the middle follows black and the others follows white. Depending on the grey level, the speed of the motors will increase or decrease in order to follow the track correctly and therefore will make turns if there are any.
    We will use the two sensors at the ends of our card to detect the signs on the course.

    Youtube : https://youtu.be/Ufe7ap_tBD8
    Romain Pierre TP1

    ReplyDelete
  26. Hello everyone today as the schedule follows we are presenting you the detail of our line follower robot and it’s a pleasure to share this experience with you readers.

    As the name suggest the line follower robot is an automated guided vehicle which follows a color embedded line in our case a black line and the robot is guided by infrared sensors during the path. The robot which is given to us is designed with Arduino and other components.

    Being first year students we usually have 2 semesters to finish the robot, during our first semester we personally created our own circuit module that consisted of 6 Infrared sensors (in which four of them were analogs and two of them were digitals) and a pin connecter to connect to the main controller (Arduino). During the creation of our module we specifically placed the four analog sensors in the middle and two digitals at each front corners of the module, it was a part of our strategy because we personally wanted the two middle IR analog sensors of identity the black line and the two separated analog IR sensors to identify the white board, we haven’t used the digital sensors yet but it will serve us during the 2nd article.

    After having created the circuit module we checked the data of the IR sensors which were given to the Arduino and we found out that black color usually have less analog value than white and never goes higher than an analog value of 400, we also found out that white digitally converts to ‘1’ and black converts to ‘0’. After having all the data necessary we started programming the robot, we specified that if the two IR sensors in the middle has an analog value of less than 400 it should move straight with a respectable speed of “70” and if ever the one of the two separated IR sensors detects an analog value of less than 400 it means there is a curve ahead and the Arduino has to move the motor accordingly in order to turn. It will turn left if the left IR sensor picks up black and it will turn right if the right IR sensor picks black. In order to turn right, the motor on the right side of the robot is slowed down, while the motor on the left side is running at normal speed and vice versa for a left turn. In order for it to stop at the finish line we specified that if the two middle sensors picks up white it should cut off the motors immediately.

    We tested our robot right after programming with our setups, we noticed that it moves perfectly in straight lines but during a curve we started seeing light swings but it takes the turn as we expected, the robot finished the course in 32s and it stopped perfectly at the finish line.

    You can take a look at our video here : https://youtu.be/BHKk8uu5Jkg

    Tenzin Benoît TP1

    ReplyDelete
  27. Hello,

    The name’s Alexandre and my teammate is Mathis. We’re (kind of obviously) from Ville d’Avray and we’re (obviously too) competing in this line following robot race.

    I will, in the first time introduce you to our long time strategy for this race.

    At the moment, we just finished to test a program (which appeared to not be perfect, but conclusive!) to make the robot finish a track without any signs on it. This program only uses sequential logic. But in the end, we would like to use a lot of interruptions to make the bot more responsive and to avoid losing time in long sequential processing.

    But for now, let’s talk about our actual no-signs-track-program thingy.

    We summed up the line following with only three cases: turn left if the robot is drifting on the right of the line, turn right if it’s drifting on the left and go forward if the robot is not moving away from the line. There’s a fourth test to make the robot knows when it has to stop.

    We used only one speed value to control the robot, using an increasing or decreasing multiplying factor to make a wheel turn faster or slower. (This is how the robot is turning. Wow, much engineering here.)

    You can have a look on the filmed conclusive try right here: FOR HE SHALL MARCH
    (Don’t mind the noise, they are arguing about Hebrew writing)

    We can see the bot is going pretty fast (23-24 seconds) and that it is sticking kind of well to the line. But its oscillations can really be reduced by working on the speed multiplying factor I was talking about earlier. We can also notice it is stopping pretty quickly at the end.

    ANYWAY, I hope it was entertaining. (Feeling the irony here?)

    See you later, alligator!

    Alexandre and Mathis, TP1

    ReplyDelete
  28. Progress review n°1

    Hello,
    As you all expect, we are participants in this friendly robotics competition between Kent EDA and the Ville d’Avray University Institute of Technology.
    To tackle the programming part of ths project, the first thing we did was to test our sensors by using the Serial Monitor which allows your Arduino to send information to your PC when the program is running. Thus, we were able to see what the values returned by each of the sensors were, so that we could check that everything worked fine and know the typical values we got depending on the colour faced by the sensor. Subsequently we experimented with a few simple programs to see if we could get our robot to correct its course when it started to stray from the line. We also experimented with differential steering, where the speed of the motors depends on the darkness of the colour detected by each of the two sensors positioned side by side near the symmetrical axis of the robot. For instance if the sensor on the right detected a darker colour than the one on the left, the left motor would turn faster than the right one to return to the center of the line, and vice versa. We tried to make the speed of said motor proportional to the value returned by the sensor, which worked to some extent, but the robot left the track a bit too repeatedly for our liking. Therefore we used the pair of sensors located further to the side and nearer to the front of the machine to detect the turns in advance so that trajectory corrections could be done more quickly. We even implemented a maximum speed variable, the value of which is controlled by a potentiometer, so that we can make the robot faster or slower without changing the program, which is useful to see how speed affects reliability during tests.
    This didn’t work. So far, the robot is able to follow a straight line, though with substantial oscillation. However, we only manage to get it through corners when the speed is set extremely low. This could be because of the latter oscillation that puts the sensors off track, which once it happens means that the robot can never get onto the line again.
    We have tried more programs than we cared to count, each using a different method to try and achieve our goal, with varying degrees of complexity, some even using arguably simpler digital logic instead of analog values, but to no avail. The robot reaches the end only if the speed is set really low, which means a run takes way more than one minute.
    Other difficulties were due to hardware. Our batteries quickly run out of charge which makes testing and troubleshooting hard, especially since the robots are shared between groups. Mechanical issues occurred as well, with drive motor sprockets sliding away from the other gears, thus ruining several tests and sometimes making us unsure whether failures were due to software issues or just the drivetrain being defective.
    On the bright side, the functions that would otherwise make the robot stop when it reaches the end of the track and the one that makes it start upon pressing a button seem to work, so at least there’s that.
    We remain confident that we will solve at least the software issues relatively soon, because the latest tests make us think that we are on the right track. Or dare we say, line.

    Here is a link to a video of the robot finishing the track, albeit running out of battery:
    https://youtu.be/KfBUtp158i4

    Antoine and Vincent, TP 1

    ReplyDelete
  29. Good morning, everyone.
    We are two students from the IUT of Ville d'Avray and we are participating in the line following robot
    contest.
    In this article we will present you the different solutions we have set up in order to program a robot
    able to follow a line on a virgin track (without obstacles and without signal marks).
    Like most groups, we use 4 analog infrared sensors in the center of the map, and 2 digital infrared
    sensors located at the front of the map on the right and on the left.
    We are currently testing our robot on the course without signage. The tests carried out are quite
    satisfactory for the moment since our robot is able to finish the course in 30 seconds.
    You can find at the end of this article a link to the video of our best test.
    During the tests, we could notice that our robot oscillated quite little in the straights and curves. This
    is due to the strategy we put in place before we started coding. Indeed, according to the value
    returned by our central infrared sensors, our robot is able to calculate the deviation in millimetres
    separating its centre from the track. It then readjusts the power of its two motors according to this
    deviation, which allows it to be constantly well positioned in relation to the axis of the black line.
    The hardest part of developing this method was to find a formula to relate the values returned by the
    four central infrared sensors to the distance between the centre of the robot and the centre of the
    track.
    To determine the analog values that allow the robot to differentiate between white and black, we
    press the push button once so that our robot records the value relative to black. We press again to
    record the value of the white. This will allow us to adapt to the real conditions on the day of the
    competition.
    The robot waits for us to press the push button to start the course. We can also see that the robot
    has detected the line and stopped before crossing it completely as stated in the tournament rules.
    We are also slightly ahead of schedule, since the robot is already able to detect obstacles thanks to
    the ultrasonic sensor, and it is also able to detect a shortcut, take it and then re-enter the track
    afterwards, although this part of the code can still be improved.
    We hope to further improve our robot before the competition, especially for speed and lateral
    movements.

    link to our video: https://youtu.be/3PLlooNjtOk

    Jean and Ludovic TP1

    ReplyDelete
  30. Hello everyone! We are 2 students from the I.U.T of Ville d’Avray and there is our advancement articles:
    Before we talk of the characteristics of the robot, let us introduce the purpose of this contest. This competition is a Line-follower robot contest between The School of Engineering and Digital Arts (University of Kent) and Ville d'Avray Institute of Technology (University of Paris Nanterre) which consists in developing and building an autonomous robot that will race against its counterpart on a blank closed circuit.
    So There is our strategy for this challenge:
    Firstly, we have decided not to use the 2 digital sensors who are in the at the extremities of the printed circuit and only use the 4 analog sensors who are in the middle of the card and ultrasonic sensor the because we thought they don’t are necessary for the first blank track test, but for the second evaluation we have to use them for the signage.
    Secondly, when we started writing the program, we decided to use this instruction order:
    -Wait to press the button to start
    -Start reading the analog sensors
    -Advance in a straight line if the two sensors detect black
    -Stop running if all the sensor detect white
    -Turn to left if the sensor who is in the right detect white
    -Turn to right if the sensor who is in the left detect white
    Moreover, when we start to test our robot in the closed circuit, we saw that the robot was not going straight, in the curves it was turning too much and he goes to fast. After saw that, we decided to change and calibrate the power of the motor to limit the oscillation and the speed of the robot.
    Finally, after making all the settings, we are happy to present our work to you.
    Link of the video: https://youtu.be/PocSd4wVUIY
    Juan & Mathis TP7.

    ReplyDelete
  31. Ellande Villemain8 March 2020 at 15:44

    First of all we’ll explains the performances : our robot successfully finished the blank track. It traveled it in 38 seconds, as we can see in the video, it sways in every straight lines because it correct the trajectory if he detect that he exits the race, when he finished and reaches the finish line, it stops.
    For the strategy, we first decided to begin separately, one of us started to test the motors, trying every move possible (forward, backward, turning right or left while the robot stood on place), while the second one was trying the sensors, one by one to check if they works and which one is used by which pin on the Aduino UNO used, then every sensors to check them together, then we checked which values of the sensors correspond to which black value.

    We then parameterized the sensors as input and the motors as output. We choosed to plan what we were going to do, we decided that the robot will follow the line with the middle sensors and redirect him if he exits it, it causes swing but we will try to correct it in the future. Then, using the four middle sensors of the robot turn, when the robot only detects white with his captors, it stops immediately.
    We finished by adding the button in the function, it is used in the beginning to start the program and let the robot follow the line.

    Link to see our video : https://youtu.be/oFR8OtosT_Q

    TP 7
    Ellande, Sofia.

    ReplyDelete
    Replies
    1. Ellande Villemain5 April 2020 at 14:42

      After the realisation of the program for the blanck track in 38 seconds, we choosed to look on the obstacle detection with the ultrasound captor, next we adjusted the crajectory taking care of the error due to the swing and in the end we programmed the signaletics

      The programation of a test program for the Ultrasound captor was easy because we already had the libraries and exemples to enderstand. The program we made permit to stop the robot when a short distance is detected for 5 seconds.

      Adjusting the trajectory with the error, which permit to swing very less. Using the grey levels of the middle sensors, we could detect the position of the robot on the black line.

      Finnaly we programmed the shortcuts with the exteriors sensors, which was complex due to the thight turns but we went slowly by opposing the sense of the motors to resolve the problem.

      Unfortunately the adjustment and turn around were not finished when the recent conditions apeared so we can not give any video to show an example.

      Delete
    2. Ellande Villemain5 April 2020 at 14:43

      TP7
      Ellande, Sofia.

      Delete
  32. Hello everyone,
     to begin let us introduce ourselves, we are student of Ville d'Avray Institute of Technology, especially of geii department, today we will present you our strategy about our robot in the Line-follower robot contest, to summarize this contest, it’s a contest between ville d’avray institute of technology and University of Kent, the subject is simple we have to code a motorize robot to follow a black line on the floor, to do this, we need to use sensors everywhere on an electronic card on which we can know the black/white levels and therefore give instructions to the robots
    to achieve the best performance.
    Our strategy is the following :

    to start, we use the four aligned analog sensors, not the digital sensor.
    to advance when a line is detected we use the 2 centrale sensors when the two sensors detected a black level, when the sensor detected a white level the robot does nothing, with this instruction the robot roll forward without any problems, but he can do anything else.

     

     
    to turn left or right, we use another loop, to turn we use the right and left outdoor sensor to turn right: when the right outdoor sensor detected a black level, we activate the right motor strongly to turn the robot and the left motor very lightly to reduce the jolts
    to turn left: when the left outdoor sensor detected a black level, we activate the left motor strongly to turn the robot and the right motor very lightly to reduce the jolts


    the instruction of the competition stipulates that it must start only when the button is pressed, to respect this rules we use a loop before the code, this loop is infinite, to stop the loop we need to push the button, when we push it the loop end and the robot can read the code, with this technique the code is not affected

    to stop the robot we do nothing in the first part of our strategy we say “ when the sensor detected a white level the robot does nothing” this is enough for the robot to stop

    to avoid oscillation caused by the power of the motors, we had to adapt the power of each motor to the robot to avoid it as much as possible
    we come to the end of this article, thanks of your attention 
    you can see our robot make the journey in the link follow
    youtube: https://www.youtube.com/watch?v=clc28Bgwljk 
    SABRI ZEKRINI

    ReplyDelete
    Replies
    1. Hello everyone,
       to begin let us introduce ourselves, we are student of Ville d'Avray Institute of Technology, especially of geii department, today we will present you our strategy about our robot in the Line-follower robot contest, to summarize this contest, it’s a contest between ville d’avray institute of technology and University of Kent, the subject is simple we have to code a motorize robot to follow a black line on the floor, to do this, we need to use sensors everywhere on an electronic card on which we can know the black/white levels and therefore give instructions to the robots
      to achieve the best performance.
      Our strategy is the following :

      to start, we use the four aligned analog sensors, not the digital sensor.
      to advance when a line is detected we use the 2 centrale sensors when the two sensors detected a black level, when the sensor detected a white level the robot does nothing, with this instruction the robot roll forward without any problems, but he can do anything else.

       to turn left or right, we use another loop, to turn we use the right and left outdoor sensor to turn right: when the right outdoor sensor detected a black level, we activate the right motor strongly to turn the robot and the left motor very lightly to reduce the jolts
      to turn left: when the left outdoor sensor detected a black level, we activate the left motor strongly to turn the robot and the right motor very lightly to reduce the jolts


      the instruction of the competition stipulates that it must start only when the button is pressed, to respect this rules we use a loop before the code, this loop is infinite, to stop the loop we need to push the button, when we push it the loop end and the robot can read the code, with this technique the code is not affected

      to stop the robot we do nothing in the first part of our strategy we say “ when the sensor detected a white level the robot does nothing” this is enough for the robot to stop

      to avoid oscillation caused by the power of the motors, we had to adapt the power of each motor to the robot to avoid it as much as possible
      we come to the end of this article, thanks of your attention 
      you can see our robot make the journey in the link follow
      youtube: https://www.youtube.com/watch?v=clc28Bgwljk 
      SABRI ZEKRINI

      Delete
  33. For this second part we tried to make sure that each time the robot sees an Obstacle it stops for 5s and then leaves after waiting.
    To do this, we first started by initializing the ultrasonic sensor and then coding it and making sure that each time the robot sees an obstacle it stops with a delay of 5000ms.
    To see the result here is the video: https://youtu.be/ir8S0IYU1rs

    ReplyDelete
  34. For the track with signage we have opted to take our principal program and add to it new functions which are the shorted program as well as the 360 program.
    In one hand, to realize the 360-degree function we fixed some conditions with right digital senor and 2 right analogs sensors to detect the 360 signage , we had to use this conditions to avoid the confusion with others situations and when it is detected we call our function. To perform this function, we run a single motor until it turns 360 with a delay and until the 2 analogs sensors of the middle recover the black track, we decided to remove it because you don't save time compared to making the straight line.
    In the other hand, for the shortcut strategy, we had the idea of making a counter that increase when we detect a black line on the left then white and then black with the digital sensor on the left, in this specific case we call the shorted function which rest the counter at zero and take the shortcut until the 2 digitals sensors detect the black line .
    Finaly , if our robot meet an obstacle , it able to stop the motors for 5s because of an ultrasound sensor which the function contructions was provided with the basics elements and we adapted to our program.
    Our target was to bet everything on speed while having good stability when cornering without losing line. We were able to finish the track in 1mn45s in the first run and 1mn35 for the second one

    KHOUJA,MARTORANA
    https://www.youtube.com/watch?v=oDWX_XPz0Wk

    ReplyDelete
  35. After the first step, we started the ultrasound system. We had 10 hours to add this system to the program and also other functions to be quicker. During those 10 hours, we studdied the ultrasound system with some Youtube videos. Like we said before, we also added new functions.
    First, we added the 360° rotation, which when sensors detect the black line on the right side make a 360°.
    We also wanted to add a function to be quicker using shortcuts. Unfortunately we didn’t find how to properly take shortcurts. So we decided to cancel the shortcut function part.
    After many fails we finally succeed to get out the robot with the ultrasound system and the 360° function.
    We noticed that if the robot doesn’t use short-cuts while he has a better speed, he reached the line quicker. So we simply increase the motor’s power ( from 43 to 63).
    To put in a nutshell, we added the ultrasound system and we increased the motor’s power. By adding the shortcut function and the 360° function, we remarked that we lost a lot of accuracy. So we decided to delete them and have a safer programm. Finally, our time is 1’07.
    Video : https://www.youtube.com/watch?v=BJUxzW6AIso&feature=youtu.be

    Julien,Lionel

    ReplyDelete
  36. For the second part of this challenge we manage to detect obstacles en stop for 5 sec, make 360 degrees turns in 3 sec who give us 3 sec on total time (by 360), and take shortcut. So we succeed the signed track and had a run at 1:24 min (with three 360) for evaluation This video isn't the one evaluated but one of our best on a difficult track, we can see that the robot can take shortcut and 360 and follow the line properly like with the track without sign.
    our video:
    https://youtu.be/M5_zGpbW6ns
    By Alexandre and Alexandre TP6

    ReplyDelete
  37. Hello everyone ,
    we are back now on the second part of the robotic project now that our robot performs the simple circuit without obstacle or shortcut in 45 seconds, we must now manage the presence of an obstacle: once the robot detects the obstacle we have to stop the robot for 5 s. Once this constraint has been programmed, we must succeed in programming any shortcuts that the robot could take and also the detection of signage signaling e
    With these new constraints we first propose to manage the obstacle management for this we perform several tests to better analyze the stop but also the start so that our robot loses the least possible time.
    Once the obstacle has been programmed, let's not think about the strategy to carry out for the 360. We therefore decide that when the right analog and digital and central sensors become black the robot will perform the 360.
    As for the shortcut we unfortunately did not succeed with the time we had left to program this part (problem linked in particular to the coronavirus).
    We were also unable to film the final performance of the robot.

    We hope that the final competition can take place and return as quickly as possible to the IUT ...

    Rani et Ismael TP2

    ReplyDelete
  38. So here we are at the second part of the robotic challenge between Kent University and IUT Ville d’Avray. At this point of the competition, the main target was to complete a track with the signage like the use of the ultrasonic transmitter/receiver. An other option to gain time was to use shortcuts with a good code.
    First of all, we added the ultrasonic transmitter/receiver to our code and the robot successfully react when we put an obstacle in front of the transmitter/receiver. It stop for 5 second (like we wanted) and the continue the track.
    After that, we added the 360° rotation, so when sensors detect the black line on the right side the robot do a 360°.
    We also wanted to add a function to gain time by using shortcuts. But unfortunately we didn’t find the right function to properly take the shortcuts.
    After many test, our robot can finish a full track without so any problems but don’t take any shortcut.

    We hope that the situation will improve and that a return to normal will soon be possible
    By Pape and Benjamin TP5

    ReplyDelete
  39. We present our second article on the second part of the project: the programming of our robot.

    As a reminder, the last time, we had the objective of having a robot capable of covering the blank track in a very short time by pressing a push button thanks to a program that we made and moreover integrating the 360 ​​° rotation.

    This time, thanks to the ultrasonic sensors, we must detect an obstacle to stop and wait and then continue the journey of the robot. The bonus was to add the shortcut when there was a line on the side.

    With these new tasks requested, we first manage the obstacle management for this we perform several tests to better analyze the stop before the start so that our robot loses the least possible time and at least finishes the race while modifying speed each time to adapt to the new track.
    Our strategy was to have a balanced race because we realized that by favoring speed the robot could make 3/4 of the track in a very short time but get out of the track while being balanced we makes it faster and faster and the race remains correct.
    As for the shortcut, we unfortunately didn't manage to finish it on time, at least to test it because we wanted to film for hours on end before knowing that Emmanuel Macron was going to close the schools.
    For the same reasons, we were also unable to film the final performance of the robot.

    We hope, despite all these efforts made for this competition, that the final can take place.

    Ilyes and Yassine TP2

    ReplyDelete
  40. During the second phase of the project we made a few changes to the controller by adding a bunch of coefficients that will predict the movement to make so the robot would follow the line even better and also to completely stop the oscillations that the robot used to make during straight lines.

    We also adjusted the ultrasonic sensor in order to stop the robot when any kind of object that block the path is detected. To do this, we used interruptions which stop the running program and make it wait before resuming the robot’s journey. We ran into a lot of issues with it because we couldn't use delays within the interruption function but we finally managed to make it work as intended.

    Then we made different functions so the robot would detect signs on sides of the circuit line and then do the appropriate actions depending on which side is the sign. But in order to properly detect signs we had to detect if the sensors are detecting a new sign or the same one, and on top of that we added a counter to represent each state the robot can be in, like for example when he detected the shortcut sign and when the shortcut begins.

    We struggled a bit to make the shortcut program but, in the end, it takes the shortcut without oscillating. The robot can also make a 360 but to ensure that it will do it without leaving the line afterwards we had to make it turn slowly. However, we are still improving our robot to make the 6 seconds gain worth.

    Despite all the trouble made by the Coronavirus, we both hope that we will still be able to compete against Kent University.

    Ghislain and Yanis TP5

    ReplyDelete
  41. Robot’s performances
    Our robot follows the track with few sways especially in turn. When it spots black at the right, it does the 360° rotation and stop for a little time and move forward, then continue to follow the track like before. However, during our try on the test, it went out of the track. Because of the containment, we didn’t have the opportunity to do more run and therefore, to record a video of our robot.
    Tracking strategy’s explanation
    Our code is essentially the same for all the tracking part, but as we have now signages on the track, we had to add some functions to respect those signages.
    In order to go in the shortcut, we did a function in which the program goes if the left digital sensor spot black colour.
    To do the 360° rotations, we did another function in which the program goes if the right digital sensor spot black colour. Then, the robot’s left and right motors are set at opposite speed. When the centre sensors spot the black line again, the robot stop its rotation, move forward a little bit and the program exit the function.
    For the obstacle detection, there is already a program on “coursenligne” which does this function. We then put this in a function in our code and add the code lines related to the ultrasonic sensor in our setup function. We finally made a function which use the ultrasonic sensor’s values to stop the robot if the ultrasonic sensor spots an obstacle close enough. We added a delay of a few seconds, after which our robot continues the tracking.

    Clément and Sacha, TP5

    ReplyDelete
  42. FIRST ADVANCEMENT ARTICLE

    Hello everyone !

    We are two students frome the Ville d’Avray IUT and we gonna to talk about our advancement in the project of Line-follower Robot.

    First we did a punctilious study of the components and tests the sensors individually
    Next we define the inputs and outputs, indicating the number of the pins corresponding
    We created then test the primary functions such as "move forward" "stop" "turn left" and "turn right"
    Unfortunately we had a problem during the setting of the spindle numbers which is a fact that the function "turn left" functioned exactly as function "turn right" indeed the robot turned anyway to the right.

    When this problem was resolved, we started to assemble the different functions into a single one. But without doing the gray levels so the robot did not replace itself and it oscillated too much on a noticed that it was annoying especially for the finish because the robot sometimes arrived in full rotation so it did not stop.

    So we opted for the grayscale method and the yield was much better so the first task was carry out.

    We were able to complete the virgin track course in 29s you can see this on this YouTube page :
    https://www.youtube.com/watch?v=NyUhr2b1atw

    Bradley and Younes, TP4

    ReplyDelete
    Replies
    1. BEGGINNING OF THE NEXT ADVANCEMENT ARTICLE

      For this second part we have just started the signage, with the ultrasonic sensor and the others conditions required to fill the specifications.

      But unfortunately we had a small part of sessions because of the restrictions taken in France against the epidemic of the cornavirus.
      We hope to be able to resume the continuation of our project at the end of this problem.

      Bradley and Younes, TP4

      Delete
  43. Welcome back to the second part of our blog on the advancement of the Kent robot contest. This time new asset was at our disposal to realise a new task: stop at an obstacle facing the way of the robot. One of those assets is the ultrasonic sensor, we managed to learn how it works by testing is behaviour on various surface. Since the sensor is used to measure distance between the robot and an obstacle, we choose the optimal distance were the robots detect this very obstacle to stop him from hitting it. The main issue we must solve was to stop the robot before he detected the obstacle and we need to tune this variable to make the robot the fastest.
    In terms of programming we already have a pre-made program to run the test of the ultrasonic sensor. To implement the sensor in our main program we used the function already made in the run test program. The second task was to stop 10 second after the robot is stopped, we used a interruption function in a function library we gave us.
    After the main program completed, it’s time to the actual test of the robot on the track. It ran completely smooth on the entire track; the obstacle was detected correctly without hitting it and the robot stop for 10 second. All the Specifications are now completed.
    Alexis and Bruce, TP2

    ReplyDelete
  44. After the first evaluation on blank track. We had an extra 10 hours for finish the project. At the beginning of this 10 hours our robot followed the line without problem.
    During this 10 hours we had do a function that makes the robot rotate 360° when the left sensor detect black color. We have also had to do a function who detect the obstacle thanks to the ultrasonic sensor. We could created a function to take shortcuts but is not obligatory.
    The last day our robot was working correctly. It was a 360 degree rotation. It stopped for 5 seconds when it detected an obstacle. But we don't have to succes the shortcuts function. We taked a video for the article avaible on Youtube. But the day of the final evaluation the robot was spinning without reasons. So we had to redo our program during the evaluation session and succed to bring out our robot in 1min22 if my memories are correct. To talk about robot performance. They are good. The robot doesn't oscillate much

    Video of robot: https://www.youtube.com/watch?v=V0A2Wmrhp3k

    Hassani Loqman and Renaud Nicolas

    ReplyDelete
  45. Robot performance description :
    Our Robot is able to normally travel the virgin pist in 46 seconds. Recently he is also able to detect obstacles with a slow stop. However, he arrive all the same to finish the pist by detecting the obstacles in 58 seconds. The oscillations are reduces compared to the last vidéo. Moreover we added the start button (essential) and now he can make a round.
    Description of the chosen strategy :
    We permitted our robot to back in his initial position when he exceed slightly the pist. This we allow to take any turn with a high speed. Unfortunately we didn't have the time for upgrade it to do a net and precise stop when he encounter an obstacle. Because of that we are losing time but it's a functionnality easy to implement, it would be enough to turn the wheels back with a high power very quickly.

    TP2 Damien, Nizar

    ReplyDelete
  46. Hello ladies and gentlemen,

    Welcome back on our blog. We hope you are well.
    First of all, we are very disappointed that the contest was cancelled because of Coronavirus. It would have been very nice to live an experience with a British university.

    After the first part we introduced the last time, we have them some extra sessions for improved the robot. Our robot get out of the track easily, so we only have to improve it. We had an additional constraint compared to last time. The robot had to stop at an obstacle.

    We notice that the track had much tighter turns. The initial program was unfortunately not performing well enough for this new track. We have to spend a few hours to return the robots more efficient, using a different color detection method. The new program was much more efficient!

    Then we have the possibility to work on two options. The first allowed the robots to make a 360 degrees on the track when he saw a black strip on the left. Despite a lot of effort we do not manage to stabilize the robots after the movement.

    We would prefer to work on the second option the robot had to stop when it encounters an obstacle. We used the ultrasonic sensor in front for this condition. After a few hours we manage to stop the robot has the obstacle for 5 seconds.

    We are very satisfied with our work and the result.
    You can view the video just below.

    https://m.youtube.com/watch?v=UcrsGzYc6Po&noapp=1


    Thank you so much for following our adventure.
    We really liked this friendly contest

    LE GOFF Melvin, HAYAT Adeel

    ReplyDelete
  47. Good morning to everyone.

    First of all we hope that everyone is well in these sad times we are living in.

    Since the first article posted on this blog we have managed to improve our program. Indeed, as concerns the blank track, we succeeded in improving our program by finding small errors.
    The robot is now able to calculate the distance that separates it from the center of the track. Then it adjusts the power of the motors according to this distance and according to a coefficient that we have determined after multiple tests. Also, we have added a calculation of the detection thresholds by pressing the push button before the run, so that our thresholds are adapted to each track and the brightness of the room.
    During the evaluation we managed to have a robot moving without any oscillation. Our record on the blank track was 27 seconds.

    Then we continued the project by coding the functions for 360°, shortcut, and obstacle detection.
    We started by coding the 360° function. To detect this marking, we use a digital infrared sensor located on the right edge of the card. Then the robot performed the 360° with a simple delay. We tried to implement more optimized strategies, in vain. The main difficulty was to differentiate a stop sign from a right turn.

    Then we coded the shortcuts. To detect a shortcut, we used a digital infrared sensor located on the left edge of the card. After this detection, we coded a function to make a 90° turn to the left and then go straight forward at reduced speed until detecting the track. Then the robot makes another 90° turn to return to the track.

    Finally, to detect obstacles using the ultrasonic sensor, we used the functions given to us. We simply had to add a "if" condition in our main function.

    We still had four hours left to perfect our program for the evaluation and the contest. However, the school being closed, we probably won't be able to do those 4 hours.
    That's why we unfortunately don't have a video of our best performance. Indeed, we did not anticipate the closing of the school and we thought that we would have the possibility to shoot the video during the last four hours.

    During our last performance on March 12, our robot was able to follow the track properly without oscillations. It was also able to detect shortcuts and 360 degrees and perform them. The robot detected obstacles, and stopped correctly for five seconds. Finally, he stopped correctly at the end of the course, without crossing the finish line.
    The crossing of the shortcut could still be improved however. We exited in about 35 seconds, not counting the 12 second bonus for completing two 360°.

    We hope that the situation will soon return to normal and that it will be possible to finish this project and participate in the competition against the University of Kent.

    Ludovic and Jean TP1

    ReplyDelete
  48. Our robot follows correctly the line, with littles oscillation, but we have had many problems with the signage. Indeed, we have started with 360, which will be activates when the robot detects black branch on his right. The main difficulty was the movement which will be very precise for realign the robot on the black line in the good direction. After this, the robot didn’t want to stop at the end of the way because, we don’t know why, it was doing a 360… And finally, we’ve programmed another function for stop the robot when there was an obstacle in front of it. This function had to run at the same time as the main program because we didn’t want to slow its execution. It was an interrupt. Unfortunately, we don’t have the time to program the function so that robot takes the shortcut.
    So, our strategy was to optimize movements of the robots instead of have all functionality like shortcuts. So we lingered on the proper functioning of basic movements.


    TP1 Romain, Pierre

    ReplyDelete
  49. Robot’s performances :
    Now our robot is able to follow the track without the signalizations. Furthermore, it is faster than before and it is moving with less oscillations, unfortunately we could not record the accurate duration of even one stroke because of the confinement.
    Despite these improvements, the robot cannot do any of the expected actions. The 360° spine function is working well, but it doesn’t work on the track. We think it’s because of the way we use sensors in our program, but we need to do further tests to be sure. Anyway, it always went off the track every time it saw signalizations. The function which makes the robot stop when the ultrasound sensor detects something works well tough. For now, our robot can only do correctly a track without signalizations and can stop at the finish line.
    Strategy :
    Our robot follows the track thanks to the two analog sensors in the middle of the card. We use the two others analog sensors for the sharp turns, if one of these is detecting the black track ,another function makes the robot deeply turn towards the wanted side.
    The last sensors (numerical sensors), are used to detect signalizations and the finish line.
    The speed depends on the level of Gray the analog sensors detect, for instance if the left sensor sees black then it will slow down the motor of the left side, making the robot turn to left.
    Christophe and Quentin, TP1

    ReplyDelete
  50. Hello again readers,

    As how the situation follows I hope that everyone is doing well and trying their best to follow up with everything you’ve missed, so after having successfully passed the 1st stage we are going to talk about the 2nd stage and how we came up with a strategy to break all the obstacles.

    The second stage is familiar as the first one but instead of blindly following the tracks there will be obstacles or walls which would be placed Infront of the robot trying to test its limits, So to detect an obstacle we are going to use the ultrasonic sensor that we talked about in the first article(the ultrasonic uses high frequency sounds to measure a distance) so once an obstacle is detected we programmed the robot with the function “if” to make it stop 5cm before the obstacle and to wait there for 6 seconds as the obstacle is removed in the following 6 seconds, after the obstacle is removed the robot would continue with its normal program and I.e. to follow the line, we tested the code and it works perfectly, but one particularity stands out and that is the 360° turn, It’s a unique concept that would win us 6 seconds.

    So to take advantage of the 6 seconds we used the digital infrared sensor that is placed on the far right corner of our card, and if ever the digital sensor detects black instead of white i.e.(a digital value of 0) the Arduino would make the right motor turn 360° forward and the left motor turn 360° backwards and stop at its initial position i.e. Infront of the black line, after the 360° turn it would continue its path, we tested the code and it worked but it doesn’t stop in its initial position always so we need to put more work in it.

    As for the video we are disheartened to say we weren’t able to take any videos as the school closed and we didn’t had any video beforehand as we still has 2 more hours of work time but we can say that our robot follows the line with little to sometimes no swings and it stops and waits perfectly 6s when an object is detected, it also does its 360° turn with 70% success and stops after crossing the finish line. We are happy with the results. Thank you

    Tenzin Benoît TP1

    ReplyDelete
  51. Hello everyone, we're back!
    We've finished programming the robot. In this second part, we had to program everything related to the signalling, the 360°, the shortcut as well as the stop if the robot detected an obstacle in front of it.
    Our robot performs better than before, it oscillates much less than before. We managed to program the stop of the robot as well as the 360°. The strategy for the 360° was that if the robot caught the black branch on its right, it had to rotate. It was a bit hard because it needed a good precision to make a rotation of more or less 360°. To stop the robot with the obstacle, we had a teacher's program that we had to adapt to our code for it to work. This program works with the ultrasonic sensor. Unfortunately, due to lack of time, we were unable to program the shortcut.
    We were unable to take a video because of the spread of the virus.
    Take care and stay at home!
    Wissem & Victor

    ReplyDelete
  52. Hello everyone!
    We successfully passed the first track, next come the second one. The second is more complicated because of the new challenges it brings.
    The first one is an obstacle, our robot have to stop when it see it with his ultrasonic sensor and start again when the obstacle is removed. We added the code of our professor for the sonar and configure it to stop when an object is at 25 cm of the captor then wait for 5 second, look if there is still an obstacle and if not, it run the default program. It works pretty well and we’re expecting to not lose time on this one.
    We moved the position of the card for the captors, which allow us to increase the speed of our robot and go below 25 seconds on some track when the battery was full. Unfortunately it brings up another problem, the robot didn’t stop at the end because of it speed. So we had to improve our function to make the robot stop, so it can make a clean stop even with the absence of break. The problem was that our robot was too fast so we made a little function to solve this and now the robot stop on the spot.
    We tried to make functions for the shortcut and the 360 but they were not reliable so we decided to not put them in the robot to be sure we finished the race.
    Unfortunately we didn’t have video of the last version of our robot due to the quarantine, and didn’t do the second trial for our robot. We are still satisfied of our robot and hope that the tournament will take place at the reopening.
    Hope everyone is doing well and take care of you and your family.
    Hugo and John, TP2

    ReplyDelete
  53. Progress review n°2

    Hello,
    This is probably the last update we will post on this blog, unless we are given a bit more time to work on the robot when we finally have contact hours again. You might know that in France we are stuck at home, which prevents us from accessing the hardware we can usually work on. This is inconvenient because as far as my teammate and I are concerned, we would have liked to fix the issues we still had with the project. We would have had the opportunity if the situation wasn’t as bad.
    Due to the aforementioned circumstances, we could not film the robot on the track, nor could we time its run. We had planned to do this on our free time before the assessment session that was supposed to take place the next day, because we wanted to make it work flawlessly. This is pretty disappointing for us, but we hope our teachers will understand, especially since we put a lot of time and effort in this project, even staying at school after hours. We also did some programming at home and, since I own an Arduino board and an ultrasonic sensor, I even considered assembling a circuit to simulate the robot while being confined, replacing four of the light sensors with potentiometers to create analog voltages and the other two with push buttons that I have laying around. I quickly realized that this was futile because in the real world, the values of several sensors change simultaneously, which cannot be achieved with that many potentiometers, and the precision would also have been questionable. I risked gumming up the program if I trusted such a setup so simulate a robot.
    Thus, the result of our work so far is a robot that oscillates a lot less than before, which allowed us to safely increase its set speed, leaving aside our idea of a controllable speed variable. The machine now performs a run in less than 30 seconds. We also managed to make it stop when an obstacle was placed some reasonable distance from the ultrasonic sensor, however we had a hard time with the stop sign, which we found was difficult to detect at speed, especially when the robot wasn’t traveling in a straight line. We were on the brink of succeeding, though; again, had the crisis not struck, we could have made it. As for the shortcut, we put it aside, since it wasn’t among our top priorities.
    Since the last post, our strategy did not change much, except for the detection of the stop sign, which now uses more sensors so as not to mistake a stray black object on the track for the sign. We did, however, inch the sensor PCB forward a notch so that turns would be detected earlier and the robot wouldn’t stop too late at the end of the run, which works.

    Antoine and Vincent, TP 1

    ReplyDelete
  54. In the second phase of the project, we made modifications to our robot to make it the best performing and competitive robots in Kent.
    First of all, we added the ultrasonic sensor. This ultrasonic detector allows the robot to stop when it encounters an obstacle in its path. We used the program put online by the teachers on online courses. In the program, we used delays in the interrupt function because we think this is the best way to realize the program.
    Then we realized the 360 function. The robot detects the signs on the edge of the track and according to the different signs, realizes or not the 360. To detect the signs, we used the sensors that are on the outside of the map so that in case of oscillations during the trip, the robot does not confuse the main track with the signs of the 360. For the realization of the 360, we used a counter so that the robot can finish in the starting position.
    We finally made the program for the shortcut on which we spent a lot of time. We set the speed of the robot very low so that it doesn't run off the road, and so that it can detect the line well with its sensors.
    Axel and Benoit

    ReplyDelete
    Replies
    1. This is the latest update on the line follower robot project.
      Before we started, due to recent events, we were unable to film or time our performance. Since the last time, we have made improvements to our program. Thanks to ultrasonic sensor, when the robot detects an obstacle in front of him, it stops for 5 seconds, then it restarts. This was possible thanks to the program provided to us by the teachers. We then managed to program the shortcut. We wish we had more time so we could improve it.
      When it detects a line on the left, it rotates 90 ° then follows the line and finally rotates 90 °.
      Finally, we also managed to make a 360. For this, we helped ourselves with a counter which increments when the sensor changes state. This allows us to be precise. We had the opportunity to test our program and the report was positive. Our robot really did not wobble a lot, stopped in front of an obstacle, took the shortcuts and performed the 360. However, the program was not perfect and would have required more time.
      Mohamed-Amine,Warren

      Delete