Aller au contenu


Photo
- - - - -

Camera AI - object tracking


22 réponses à ce sujet

#21 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 732 messages
  • Gender:Male

Posté 09 avril 2023 - 06:58

:dash2: Désolé. Aucune idée.

 

Sinon, pourquoi des \r ?

Avec \r , tu reviens en début de ligne, puis avec /n ,  tu reviens en début de ligne, mais à la ligne suivante.



#22 dakota99

dakota99

    Habitué

  • Membres
  • PipPip
  • 228 messages
  • Gender:Male
  • Interests:programmation Windev, Webdev, aviation, robotique, domotique, drones

Posté 09 avril 2023 - 09:19

Apparemment cela fonctionne mais il y a sûrement un code plus simple et efficace.

La fonction strtok mérite d'être connue :)

String cm1;
String cm2;

void setup() {
   Serial.begin(9600); 
   cm1 = "N2 U6 N2 A3 2 N2 U6 89 67 77"; // string reçue sur le port série
   int cp = cm1.lastIndexOf('N2'); // position de N2 dans la chaîne en commençant par la fin
   cp = cp - 1;
   Serial.print("cp:");Serial.println(cp);
   cm2 = cm1.substring(cp); // extraction de la chaîne retenue
   int str_len = cm2.length() + 1; 
   char cm3[str_len];
   cm2.toCharArray(cm3, str_len); // conversion du string vers CharArray
   Serial.print("cm3:");Serial.println(cm3);
   const char *delimiter =" "; // séparateur espace
   char *token = strtok(cm3, delimiter); 
   while (token != NULL)
   {
      Serial.print("token:");Serial.println(token);
      token=strtok(NULL, delimiter);
   }
}

Ca donne dans le serial monitor :

 

N2 U6 N2 A3 2 N2 U6 89 67 77
cp:14
cm3:N2 U6 89 67 77
token:N2
token:U6
token:89
token:67
token:77


 

 



#23 dakota99

dakota99

    Habitué

  • Membres
  • PipPip
  • 228 messages
  • Gender:Male
  • Interests:programmation Windev, Webdev, aviation, robotique, domotique, drones

Posté 19 avril 2023 - 07:56

Bonjour,

 

J'ai continué les essais avec la camera Jevois Pro

Le robot fait un va et vient entre 2 cibles ArUco qui se déplacent.

L'ArUco format A4 est détecté sans erreur à une distance de +/- 14 mètres. En plein soleil ou en faible luminosité.

Il n'y a aucun réglage à faire sur la camera. Juste démarrer Linux et choisir le bon module. Cette camera est géniale et les applications potentielles sont assez phénoménales. (merci à vous de m'avoir orienté vers ce matériel)

 

Le flux de données entre l'Arduino Mega est maintenant plus ou moins bien géré (selon mon niveau de compétence) 

1) Rplidar 2) Encodeurs 3) Camera Jevois Pro 4) module Bluetooth qui reçoit et envoie données vers un smartphone qui est sur le robot. Le smartphone peut être lui-même contrôlé par un pc via Wifi.

 

CAMERA_JEVOIS_PRO.jpg

 

Robot de guidage

ArUco.jpg

 

Etape suivante est de transposer le système sur un châssis plus costaud.

001.jpg





Répondre à ce sujet



  


0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users