Aller au contenu


Photo
* * * * * 1 note(s)

[Projet Rover] Mon robot de surveillance mobile et télécommandé

Arduino Raspberry PI3 MIT Inventor 2 Rover UGV Robot

243 réponses à ce sujet

#241 gerardosamara

gerardosamara

    Membre passionné

  • Membres
  • PipPipPip
  • 312 messages
  • Gender:Male
  • Location:Costa Rica & Bretagne
  • Interests:La vie sous les tropiques

Posté 12 octobre 2018 - 06:48

Merci @Oracid & @Mike118 pour vos retours d'expérience .

 

Avec la bibliothèque "newping" ca va beaucoup mieux .

 

Néanmoins il y a des cas ou la détection d'obstacle est perturbée si le support de réflexion  est un angle ou si il est fait de "fibres tréssé" ( salon extérieur)  ou non plein comme une balustrade.

Le phénomène semble plus accentué si la distance augmente.

 

Je ne sais pas si le bruit des vagues qui sont à 50m peut également perturber la transmission de l'ultrason.

 

La photo ci-dessous est un cas de problème d'angle de réflexion du signal , avec moins d'angle ca marche.

 

Hc-Sr04 pb .jpg

 

EDIT : Oubli d'indiquer qu'une mesure erronée "8 cm" vient après le "0 cm" en cas de de distance > seuil de détection

 

Erreurs HCSR04 ed2.PNG


Pura vida


#242 gerardosamara

gerardosamara

    Membre passionné

  • Membres
  • PipPipPip
  • 312 messages
  • Gender:Male
  • Location:Costa Rica & Bretagne
  • Interests:La vie sous les tropiques

Posté 14 octobre 2018 - 04:34

Suite ...
 
Le capteur ultrason HC-SR04 ,( situé à l'arrière du robot) est  intégré dans le sketch Arduino avec la bibliothèque "Newping"  et fonctionne.
J'en ai profité pour  modifier le code relatif au capteur US SRF05 situé à l'avant du robot  afin de généraliser la bibilothèque "Newping".
 
La lecture des 2 capteurs US se fait dans la boucle "loop" chaque 100 ms  ( méthode millis() )
 
Pour l'instant je n'ai pas cherché à optimiser le code , en gardant un traitement différent en fonction du capteur sollicité ( lire le capteur concerné si on avance ou si on recule mais pas les deux sytématiquement )
// Interrogation périodique (100 ms) Distance obstacle capteur ultrasonif ((millis() - previousmillisUS) >= DISTANCEUSINTERVAL) {  if (CurrentRobotStatus != STOP)  {    int DistanceObstacle=0;    DistanceObstacle = sonar[0].ping_cm();  // 0 = SRF05    previousmillisUS = millis();    if ((DistanceObstacle < DISTANCEUSMIN) and (CurrentRobotStatus == AV))    {      CurrentRobotStatus= STOP; // Etat Stop      ArreterRobot(); // l'obstacle est dans la zone proche du robot      Serial.print("<Distance SRF05 trop proche obstacle = ");      Serial.print(DistanceObstacle);     }     DistanceObstacle=0;    DistanceObstacle = sonar[1].ping_cm();  // 1 = HC-SR04    previousmillisUS = millis();    if ((DistanceObstacle < DISTANCEUSMIN) and (CurrentRobotStatus == AR) and (DistanceObstacle != 0))    {      CurrentRobotStatus= STOP; // Etat Stop      ArreterRobot(); // l'obstacle est dans la zone proche du robot      Serial.print("<Distance SR04 trop proche obstacle = ");      Serial.print(DistanceObstacle);     }          }}

Pura vida


#243 gerardosamara

gerardosamara

    Membre passionné

  • Membres
  • PipPipPip
  • 312 messages
  • Gender:Male
  • Location:Costa Rica & Bretagne
  • Interests:La vie sous les tropiques

Posté hier, 16:57

Retour sur l'application Android de controle du robot  pour y introduire la possibilité de  gestion à distance sur l'écran d'accueil  :

 

- Ajout de 2 boutons Accès Local et Accès Distant

- Visualisation du mode choisi local ou distant sur l'écran d'accueil et sur l'écran  "Controle du robot par smartphone"

- Prise  en compte de ce mode dans l'écran "Controle du robot par Smartphone"

 

=> Reste à ajouter les blocs de code dans l'application MIT Inventor2 et à tester

 

App android v030.png


Pura vida


#244 gerardosamara

gerardosamara

    Membre passionné

  • Membres
  • PipPipPip
  • 312 messages
  • Gender:Male
  • Location:Costa Rica & Bretagne
  • Interests:La vie sous les tropiques

Posté aujourd'hui, 02:59

La prise en compte du controle à distance du robot consiste à :

 

- Mémoriser  l'état Local / Distant des boutons correspondants dans l'écran d'accueil

- ¨Partager cet état avec l'écran de controle du robot par smartphone  ( startvalue )

- Affecter au robot et à la caméra PI une IP de type locale ou externe (hostname) en fonction du mode Local ou Distant

 

Ecran accueil

 

blocks ecran1 mode distant.png

 

Ecran controle du robot par smartphone

 

blocks ecran3 mode distant.png

 

Le test de pilotage du robot a été fait avec le smartphone en Wifi pour le mode local et mode 4G pour le mode distant  ( retour vidéo et commande du robot).

Screenshot en mode distant et commande robot "Avancer"

 

app android mode distant.png


Pura vida




Répondre à ce sujet



  



Aussi étiqueté avec au moins un de ces mots-clés : Arduino, Raspberry PI3, MIT Inventor 2, Rover, UGV, Robot

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

0 members, 0 guests, 0 anonymous users