Compare commits
No commits in common. "500d1f8664ec9183096488adde67be8026588b70" and "86cb6bfa722c540546706acbe998d38765f0edcc" have entirely different histories.
500d1f8664
...
86cb6bfa72
14
Readme.md
14
Readme.md
@ -5,13 +5,19 @@ Basé sur le code du PAMI 2025 de l'équipe Poivron Robotique.
|
||||
|
||||
Principales évolutions:
|
||||
|
||||
- Ajout de la communication Wifi
|
||||
- Ajout de la communication USB
|
||||
- Définition des messages applicatifs
|
||||
|
||||
Méthode de test
|
||||
---------------
|
||||
|
||||
Utiliser le code de la supervision ou le code python du robot 2026
|
||||
* Éteindre la LED avec la trame : `echo -e "\xFF\xFF\x06rD\x00\x01\x36\x00" > /dev/ttyACM0`
|
||||
|
||||
* Allumer la LED avec la trame : `echo -e "\xFF\xFF\x06rD\x00\x01\x06\x00" > /dev/ttyACM0`
|
||||
|
||||
* Tester la réception de la position
|
||||
|
||||
`echo -e "\xFF\xFF\x11rP\x00\x0C\x01\x01\x01\x01\x05\x05\x05\x05\x09\x09\x09\x09\x00" > /dev/ttyACM0`
|
||||
|
||||
Difficultés
|
||||
-----------
|
||||
@ -19,6 +25,10 @@ Il suffit d'une petite modification du code (ajout d'un `printf` par exemple), p
|
||||
|
||||
L'utilisation du second cœur pour envoyer la télémétrie peut perturber le débug avec printf => Augment grandement le délai de réponse
|
||||
|
||||
La communication crash rapidement : à cause de la danse du PAMI => Suppression de la dance du PAMI (c'était codé à l'arrache)
|
||||
|
||||
Les points des trajectoires sont des `double`, il faut les mettre en `float`.
|
||||
|
||||
Pas de trajectoire rotation sur soi-même ?
|
||||
|
||||
Annexes
|
||||
|
||||
17
main.c
17
main.c
@ -239,16 +239,11 @@ void main(void)
|
||||
Strategie_interrompre_trajet();
|
||||
get_données_reçues((uint8_t *) &msg_trajectoire, sizeof(msg_trajectoire), REG_PROPULSION_TRAJECTOIRE);
|
||||
printf("trajectoire: type: %d,\n point1_x:%.2f, point1_y:%.2f,\n point2_x:%.2f, point2_y:%.2f,\n point3_x:%.2f, point3_y:%.2f\n point4_x:%.2f, point4_y:%.2f\n",
|
||||
msg_trajectoire.type, msg_trajectoire.p1.x, msg_trajectoire.p1.y,
|
||||
msg_trajectoire.p2.x, msg_trajectoire.p2.y,
|
||||
msg_trajectoire.p3.x, msg_trajectoire.p3.y,
|
||||
msg_trajectoire.p4.x, msg_trajectoire.p4.y);
|
||||
trajectoire.type = msg_trajectoire.type;
|
||||
trajectoire.p1 = msg_trajectoire.p1;
|
||||
trajectoire.p2 = msg_trajectoire.p2;
|
||||
trajectoire.p3 = msg_trajectoire.p3;
|
||||
trajectoire.p4 = msg_trajectoire.p4;
|
||||
trajectoire.longueur = 0;
|
||||
msg_trajectoire.trajectoire.type, msg_trajectoire.trajectoire.p1.x, msg_trajectoire.trajectoire.p1.y,
|
||||
msg_trajectoire.trajectoire.p2.x, msg_trajectoire.trajectoire.p2.y,
|
||||
msg_trajectoire.trajectoire.p3.x, msg_trajectoire.trajectoire.p3.y,
|
||||
msg_trajectoire.trajectoire.p4.x, msg_trajectoire.trajectoire.p4.y);
|
||||
trajectoire = msg_trajectoire.trajectoire;
|
||||
mode = 4;
|
||||
uint8_t etat_action = ACTION_EN_COURS;
|
||||
mise_données_dans_échange((uint8_t*) &(etat_action), sizeof(etat_action), REG_PROPULSION_ETAT_TRAJET);
|
||||
@ -498,7 +493,7 @@ void gestion_VL53L8CX(void){
|
||||
|
||||
for(int i=0; i<64; i++){
|
||||
//int distance_cm = Results.distance_mm[i] / 10;
|
||||
int distance_cm = Results.distance_mm[i]/ 10;
|
||||
int distance_cm = Results.distance_mm[i];
|
||||
if(distance_cm > 200){
|
||||
distance_cm = 250;
|
||||
}
|
||||
|
||||
@ -36,8 +36,7 @@ struct msg_propulsion_vitesse_robot_t {
|
||||
};
|
||||
|
||||
struct msg_trajectoire_t {
|
||||
enum trajectoire_type_t type;
|
||||
struct point_xy_t p1, p2, p3, p4;
|
||||
struct trajectoire_t trajectoire;
|
||||
};
|
||||
|
||||
struct msg_propulsion_config_trajet_t {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user