Automation

Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

vendredi 14 octobre 2016


OpGMAO v1.0 : Application développé par Derbali jalel ingénieur électrique automatique ,OpGMAO pouvant être appliqué à de multiples secteurs (industrie , transport ,services ,,,,).

vendredi 22 janvier 2016

RobotSoft interface graphique



L’application est  développée par le binôme Derbali Jalel et Triki Sami de l’école National d’Ingénieurs de l’Université de Gabés. Cette application peut donc être utilisée par toute personne intéressée par celui-ci. Il est laissé le libre choix de modifier, d’enrichir et de réutiliser cette application. Ce manuel explique le fonctionnement et l’utilisation du l’application réalisé. Il est peut être utilisé pour plusieurs étapes comme par exemple : connexion, réception, performances…



L’interface donc se compose de 4 blocs :
  • Bloc 1 : c’est la partie d’entrée utilisateur qui contient toutes les commandes qui vont être transmises au robot (contrôle de bras, direction de robot, vitesse des moteurs, torche, laser pointer, position de servomoteur, mode fonctionnement de robot) et les commandes inter application (ordre vocal, joystick, sonar radar).
  • Bloc 2 : vidéo panel : réception vidéo à travers la caméra IP avec la possibilité de zoom et apprendre des photos.
  • Bloc 3 : Dans cette partie il y a les informations relatives aux robots tels que la valeur de température, gaz, pitch, roll, capteur distance, sonar, voltage de batterie (une barre de progression affichera l’état de batterie). Cette partie est indépendante de l’utilisateur. Lorsque le robot est connecté, elle fonctionne automatiquement.
  • Bloc 4 : partie d’analyse des données reçues tel que l’évolution de la température et concentration de gaz en fonction de temps et la cartographie.

Lien de téléchargement: 

mardi 8 avril 2014

Implementing PID control for a line following robot

The first requirement in implementing PID for a line follower is calculating the error of the robot. To calculate the error we will need to know the current position of the robot with respect to the line. There are a number of ways of knowing this.
A simple approach would be to place two IR sensors on either side of the line. The IR sensors should be tuned to give an output voltage that is promotional to the distance between the line and the sensor. The output can then be connected to the ADC pin of a microcontroller and the error can be calculated.
Though this method may seem simple and easy to implement it has a few drawbacks. Firstly, a robot using this method will have problems following a line whose width is varying. Secondly, the output of these sensors will be highly susceptible to interference from external light. And lastly, for this method to work, you have to ensure that the track is completely flat. Any change in the distance between the sensor and the surface will affect the sensor readings.
A better approach would be to use the traditional sensor array. Using an array of sensors, you can easily calculate the error by knowing which sensor is on the line. Consider you have an array of 10 sensors each placed 1cm apart. When the 7th sensor from the left detects the line you can be sure that the centre of the robot is 2 cm to the right of the line. Using a sensor array the processor can calculate the error faster as there is no ADC required to be done and thus you can increase the sampling rate. You can also use the robot as a grid solver.
When building a sensor array, there are a few things to keep in mind. Firstly, the more sensors you have in an array, the better will be the performance of the robot, because more sensors translates to more range of error. For line following anything between 6 to 10 sensors (depending on your robot) will be sufficient. The distance between each adjacent sensor determines the resolution of the readings. It is always best to place the sensors as close to each other as possible because your resolution will increase as you place the sensors closer (a resolution of +/- 1cm is always better than a resolution of +/- 3 cm).
The next important thing in implementing PID after the sensors is the writing the code itself. The algorithm for a PID control for line followers would be something like this –

Error = target_pos – current_pos               //calculate error
P = Error * Kp                       //error times proportional constant gives P
I = I + Error                         //integral stores the accumulated error
I = I * Ki                             //calculates the integral value
D = Error – Previos_error       //stores change in error to derivate
Correction = P + I + D

The next step is to add this correction term to the left and right motor speed.

While calculating the derivative, the change in error can be divided by the time taken to get the rate of change of error, but I have skipped this step in my robot, because each loop takes almost the same time to execute.