Merge remote-tracking branch 'origin/main'

This commit is contained in:
Allan Cueff
2025-04-21 17:25:55 +02:00
57 changed files with 951 additions and 50 deletions

View File

@@ -42,14 +42,25 @@
<toc-element topic="Odometry-Logic-Processor-Node.md"/>
<toc-element topic="PCA9685-Controller-Node.md"/>
<toc-element topic="PCB-Alim-Interface-Node.md"/>
<toc-element topic="PCB-Odo-Interface-Node.md"/>
<toc-element topic="Solenoid-Controller-Node.md"/>
<toc-element topic="Speed-Result-Node.md"/>
<toc-element topic="Tirette-Controller-Node.md"/>
</toc-element>
<toc-element topic="Topics.md">
<toc-element topic="Arm-Control-Topic.md"/>
<toc-element topic="Button-Topic.md"/>
<toc-element topic="Lidar-Topic.md"/>
<toc-element topic="Odometry-Data-Topic.md"/>
<toc-element topic="Odometry-Topic.md">
<toc-element topic="Odometry-GetPosition-Topic.md"/>
<toc-element topic="Odometry-SetPosition-Topic.md"/>
<toc-element topic="Odometry-Speed-Topic.md"/>
<toc-element topic="Odometry-ToF-Topic.md"/>
<toc-element topic="Odometry-WaypointReach-Topic.md"/>
<toc-element topic="Odometry-AddWaypoint-Topic.md"/>
<toc-element topic="Odometry-GetPID-Topic.md"/>
<toc-element topic="Odometry-SetPID-Topic.md"/>
</toc-element>
<toc-element topic="Solenoid-Topic.md"/>
<toc-element topic="Serial-Listener-Topic.md">
<toc-element topic="Raw-Data-Topic.md"/>
@@ -69,7 +80,24 @@
<toc-element topic="Add-Solenoid-Service.md"/>
<toc-element topic="Add-Serial-Listener-Service.md"/>
<toc-element topic="Add-Servo-Service.md"/>
<toc-element topic="Alim-Service.md">
<toc-element topic="AlimOut-Service.md"/>
<toc-element topic="AlimIn-Service.md"/>
<toc-element topic="AlimBau-Service.md"/>
<toc-element topic="AlimEmg-Service.md"/>
<toc-element topic="AlimTemp-Service.md"/>
</toc-element>
<toc-element topic="Button-Service.md"/>
<toc-element topic="Odometry-Service.md">
<toc-element topic="Odometry-ToF-Service.md"/>
<toc-element topic="Odometry-Speed-Service.md"/>
<toc-element topic="Odometry-GetPosition-Service.md"/>
<toc-element topic="Odometry-Start-Service.md">
</toc-element>
<toc-element topic="Odometry-GetPID-Service.md"/>
<toc-element topic="Odometry-SetPID-Service.md"/>
<toc-element topic="Odometry-AddWaypoint-Service.md"/>
</toc-element>
<toc-element topic="Tirette-Service.md"/>
</toc-element>
<toc-element topic="Utils.md"/>
@@ -77,13 +105,41 @@
<toc-element topic="ROS2-UI.md"/>
<toc-element topic="ROS2-Interfaces.md">
<toc-element topic="Message.md">
<toc-element topic="Odometry-Topic-Interface.md">
<toc-element topic="PID-Topic-Interface.md">
<toc-element topic="OdometryPid-Topic-Interface.md"/>
</toc-element>
<toc-element topic="OdometryAddWaypoint-Topic-Interface.md"/>
<toc-element topic="OdometryPos-Topic-Interface.md"/>
<toc-element topic="OdometrySpeed-Topic-Interface.md"/>
<toc-element topic="OdometryStart-Topic-Interface.md"/>
<toc-element topic="OdometryToF-Topic-Interface.md"/>
<toc-element topic="OdometryWaypointReach-Topic-Interface.md"/>
</toc-element>
<toc-element topic="Button-Message-Interface.md"/>
<toc-element topic="OdometryData-Message-Interface.md"/>
<toc-element topic="PCA9685Servo-Message-Interface.md"/>
<toc-element topic="Solenoide-Message-Interface.md"/>
<toc-element topic="ServoMode-Message-Interface.md"/>
</toc-element>
<toc-element topic="Service.md">
<toc-element topic="Odometry-Service-Interface.md">
<toc-element topic="Odometry-PID-Service-Interface.md">
<toc-element topic="OdometryGetPid-Service-Interface.md"/>
<toc-element topic="OdometrySetPid-Service-Interface.md"/>
</toc-element>
<toc-element topic="OdometryAddWaypoint-Service-Interface.md"/>
<toc-element topic="OdometryPosition-Service-Interface.md"/>
<toc-element topic="OdometrySpeed-Service-Interface.md"/>
<toc-element topic="OdometryStart-Service-Interface.md"/>
<toc-element topic="OdometryToF-Service-Interface.md"/>
</toc-element>
<toc-element topic="Alim-Service-Interface.md">
<toc-element topic="AlimBau-Service-Interface.md"/>
<toc-element topic="AlimEmg-Service-Interface.md"/>
<toc-element topic="AlimIn-Service-Interface.md"/>
<toc-element topic="AlimOut-Service-Interface.md"/>
<toc-element topic="AlimTemp-Service-Interface.md"/>
</toc-element>
<toc-element topic="AddButton-Service-Interface.md"/>
<toc-element topic="AddSolenoid-Service-Interface.md"/>
<toc-element topic="AddSerialListener-Service-Interface.md"/>

View File

@@ -48,4 +48,29 @@
<description>Created after removal of "Robot Position" from Documentation Robot Modelec 2024</description>
<accepts>Robot-Position.html</accepts>
</rule>
<rule id="41d692d7">
<description>Created after removal of "PID" from Documentation Robot Modelec 2024</description>
<accepts>PID.html</accepts>
</rule>
<rule id="2804f0d3">
<description>Created after removal of "Odometry" from Documentation Robot Modelec 2024</description>
<accepts>Odometry.html</accepts>
</rule>
<rule id="620cb063">
<description>Created after removal of "OdometryData" from Documentation Robot Modelec 2024</description>
<accepts>OdometryData-Message-Interface.html</accepts>
</rule>
<rule id="403fabd2">
<description>Created after removal of "Odometry-Topic-Interface" from Documentation Robot Modelec 2024
</description>
<accepts>Odometry-Topic-Interface.html</accepts>
</rule>
<rule id="17751c2d">
<description>Created after removal of "Odometry Data" from Documentation Robot Modelec 2024</description>
<accepts>Odometry-Data-Topic.html</accepts>
</rule>
<rule id="2628f634">
<description>Created after removal of "Odometry-Topic" from Documentation Robot Modelec 2024</description>
<accepts>Odometry-Topic.html</accepts>
</rule>
</rules>

Binary file not shown.

View File

@@ -0,0 +1,3 @@
# Alim
Start typing here...

View File

@@ -0,0 +1,26 @@
# AlimBau
`<modelec_interface/srv/alim_bau.hpp>`
## Objectif
Vérifier l'état du bouton d'arrêt d'urgence.
## Interface
```cpp
---
bool success
bool activate
```
## Params
| Type | Name | Description |
|--------|------|---------------|
## Retour
| Type | Name | Description |
|------|----------|----------------------------------|
| bool | success | requête réussie ou non |
| bool | activate | état du bouton d'arrêt d'urgence |
## Utilisé par

View File

@@ -0,0 +1,13 @@
# AlimBau
## Nom du service : **alim/emg**
[Interface](AlimBau-Service-Interface.md)
## Objectif
Récupérer l'état du bouton d'arrêt d'urgence de la carte d'alimentation.
### Service
- [](PCB-Alim-Interface-Node.md)
### Client
-

View File

@@ -0,0 +1,26 @@
# AlimEmg
`<modelec_interface/srv/alim_emg.hpp>`
## Objectif
Contrôler l'arrêt d'urgence software.
## Interface
```cpp
bool activate
---
bool success
```
## Params
| Type | Name | Description |
|------|----------|------------------------------------------|
| bool | activate | activé ou non l'arrêt d'urgence software |
## Retour
| Type | Name | Description |
|------|---------|------------------------|
| bool | success | requête réussie ou non |
## Utilisé par

View File

@@ -0,0 +1,13 @@
# AlimEmg
## Nom du service : **alim/emg**
[Interface](AlimEmg-Service-Interface.md)
## Objectif
Contrôler l'arrêt d'urgence software.
### Service
- [](PCB-Alim-Interface-Node.md)
### Client
-

View File

@@ -0,0 +1,35 @@
# AlimIn
`<modelec_interface/srv/alim_in.hpp>`
## Objectif
Vérifier l'état de l'alimentation.
## Interface
```cpp
string VOLT="VOLT"
string AMPS="AMPS"
string STATE="STATE"
string VALID="VALID"
int16 input
string type "STATE"
---
bool success
int64 result
```
## Params
| Type | Name | Description |
|--------|-------|-----------------------------------------------|
| int16 | input | input 1 ou 2 |
| string | type | type de la requête (VOLT, AMPS, STATE, VALID) |
## Retour
| Type | Name | Description |
|-------|---------|------------------------|
| bool | success | requête réussie ou non |
| int64 | result | résultat de la requête |
## Utilisé par

View File

@@ -0,0 +1,13 @@
# AlimIn
## Nom du service : **alim/in**
[Interface](AlimIn-Service-Interface.md)
## Objectif
Récupérer les valeurs d'alimentation du robot.
### Service
- [](PCB-Alim-Interface-Node.md)
### Client
-

View File

@@ -0,0 +1,41 @@
# AlimOut
`<modelec_interface/srv/alim_out.hpp>`
## Objectif
Vérifier l'état des sorties d'alimentation.
## Interface
```cpp
string OUT_5V="OUT5V"
string OUT_5V1="OUT5V1"
string OUT_12V="OUT12V"
string OUT_24V="OUT24V"
string STATE="STATE"
string VOLT="VOLT"
string AMPS="AMPS"
string out
string type "STATE"
int8 enable -1
---
bool success
int64 result
```
## Params
| Type | Name | Description |
|--------|--------|--------------------------------------------------------|
| string | out | nom de la sortie d'alimentation |
| string | type | type de la requête |
| int8 | enable | 1 pour activer, 0 pour désactiver, -1 pour lire l'état |
## Retour
| Type | Name | Description |
|-------|---------|------------------------|
| bool | success | requête réussie ou non |
| int64 | result | résultat de la requête |
## Utilisé par

View File

@@ -0,0 +1,13 @@
# AlimOut
## Nom du service : **alim/out**
[Interface](AlimOut-Service-Interface.md)
## Objectif
Vérifier l'état des sorties d'alimentation.
### Service
- [](PCB-Alim-Interface-Node.md)
### Client
-

View File

@@ -0,0 +1,27 @@
# AlimTemp
`<modelec_interface/srv/alim_temp.hpp>`
## Objectif
Vérifier l'état de la température de l'alimentation.
## Interface
```cpp
---
bool success
int64 value
```
## Params
| Type | Name | Description |
|------|------|-------------|
| | | |
## Retour
| Type | Name | Description |
|-------|---------|---------------------------------------|
| bool | success | requête réussie ou non |
| int64 | value | valeur de la température (en celcius) |
## Utilisé par

View File

@@ -0,0 +1,13 @@
# AlimTemp
## Nom du service : **alim/temp**
[Interface](AlimTemp-Service-Interface.md)
## Objectif
Vérifier la température de l'alimentation.
### Service
- [](PCB-Alim-Interface-Node.md)
### Client
-

View File

@@ -2,10 +2,22 @@
### Debug
Pour recup les data de la rasp sur son pc->
Pour interconnecter rasp + pc
```bash
source <modelec-serge-ROS install>/install/setup.bash
export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
export FASTRTPS_DEFAULT_PROFILES_FILE=<modelec-serge-ROS install>/fastdds_setup.xml
export ROS_DOMAIN_ID=128
```
Ensuite rajouté ce bout de code dans le fichier `fastdds_setup.xml` :
```xml
<locator>
<udpv4>
<address>Tailscale IPv4 address / domain name</address>
</udpv4>
</locator>
```
(Update coté client ET coté serveur (sur le rasp))
(Ps: pour se connecter au [tailscale](connect-rasp.md))

View File

@@ -0,0 +1,12 @@
# AddWaypoint
## Nom du service : **odometry/add_waypoint**
[Interface](OdometryAddWaypoint-Service-Interface.md)
## Objectif
Ajouter un waypoint à la liste des waypoints de l'odométrie.
### Service
- [](PCB-Odo-Interface-Node.md)
### Client

View File

@@ -0,0 +1,12 @@
# AddWaypoint
## Nom du topic : **odometry/add_waypoint**
[Interface](OdometryAddWaypoint-Topic-Interface.md)
## Objectif
Ajouter un waypoint à la liste des waypoints de l'odométrie.
### Publisher
- [](PCB-Odo-Interface-Node.md)
### Subscriber

View File

@@ -1,13 +0,0 @@
# Odometry Data
### Nom du topic : **odometry_data**
[Interface](OdometryData-Message-Interface.md)
### Objectif
Transmettre la position du robot renvoyé par l'odométrie.
### Publisher
- [](Odometry-Logic-Processor-Node.md)
### Subscriber
-

View File

@@ -0,0 +1,12 @@
# GetPID
## Nom du service : **odometry/get_pid**
[Interface](OdometryGetPid-Service-Interface.md)
## Objectif
Récupérer les valeurs de PID de l'odométrie.
### Service
- [](PCB-Odo-Interface-Node.md)
### Client

View File

@@ -0,0 +1,12 @@
# GetPID
## Nom du topic : **odometry/get_pid**
[Interface](OdometryPid-Topic-Interface.md)
## Objectif
Récupérer les valeurs de PID de l'odométrie.
### Publisher
- [](PCB-Odo-Interface-Node.md)
### Subscriber

View File

@@ -0,0 +1,12 @@
# GetPosition
## Nom du service : **odometry/get_position**
[Interface](OdometryPosition-Service-Interface.md)
## Objectif
Récupérer la position du robot à partir de l'odométrie.
### Service
- [](PCB-Odo-Interface-Node.md)
### Client

View File

@@ -0,0 +1,12 @@
# GetPosition
## Nom du topic : **odometry/get_position**
[Interface](OdometryPos-Topic-Interface.md)
## Objectif
Envoie la position du robot à partir de l'odométrie.
### Publisher
- [](PCB-Odo-Interface-Node.md)
### Subscriber

View File

@@ -0,0 +1,2 @@
# PID

View File

@@ -0,0 +1,3 @@
# Odometry
Start typing here...

View File

@@ -0,0 +1,10 @@
# Odometry
## Service pour l'odométrie
- [](Odometry-ToF-Service.md)
- [](Odometry-Speed-Service.md)
- [](Odometry-GetPosition-Service.md)
- [](Odometry-Start-Service.md)
- [](Odometry-GetPID-Service.md)
- [](Odometry-SetPID-Service.md)
- [](Odometry-AddWaypoint-Service.md)

View File

@@ -0,0 +1,12 @@
# SetPID
## Nom du service : **odometry/set_pid**
[Interface](OdometrySetPid-Service-Interface.md)
## Objectif
Configurer le PID de l'odométrie.
### Service
- [](PCB-Odo-Interface-Node.md)
### Client

View File

@@ -0,0 +1,12 @@
# SetPID
## Nom du topic : **odometry/set_pid**
[Interface](OdometryPid-Topic-Interface.md)
## Objectif
Configurer le PID de l'odométrie.
### Publisher
- [](PCB-Odo-Interface-Node.md)
### Subscriber

View File

@@ -0,0 +1,12 @@
# SetPosition
## Nom du topic : **odometry/set_position**
[Interface](OdometryPos-Topic-Interface.md)
## Objectif
Envoyé une position à l'odométrie.
### Publisher
- [](PCB-Odo-Interface-Node.md)
### Subscriber

View File

@@ -0,0 +1,12 @@
# Speed
## Nom du service : **odometry/speed**
[Interface](OdometrySpeed-Service-Interface.md)
## Objectif
Récupérer la vitesse du robot à partir de l'odométrie.
### Service
- [](PCB-Odo-Interface-Node.md)
### Client

View File

@@ -0,0 +1,12 @@
# Speed
## Nom du topic : **odometry/speed**
[Interface](OdometrySpeed-Topic-Interface.md)
## Objectif
Récuperer la vitesse du robot à partir de l'odométrie.
### Publisher
- [](PCB-Odo-Interface-Node.md)
### Subscriber

View File

@@ -0,0 +1,12 @@
# Start
## Nom du service : **odometry/start**
[Interface](OdometryStart-Service-Interface.md)
## Objectif
Démarrer ou éteindre l'odométrie.
### Service
- [](PCB-Odo-Interface-Node.md)
### Client

View File

@@ -0,0 +1,12 @@
# ToF
## Nom du service : **odometry/tof**
[Interface](OdometryToF-Service-Interface.md)
## Objectif
Récupérer la distance entre le robot et un obstacle à l'aide d'un capteur ToF.
### Service
- [](PCB-Odo-Interface-Node.md)
### Client

View File

@@ -0,0 +1,12 @@
# ToF
## Nom du topic : **odometry/tof**
[Interface](OdometryToF-Topic-Interface.md)
## Objectif
Récupérer la distance entre le robot et un obstacle à l'aide d'un capteur ToF.
### Publisher
- [](PCB-Odo-Interface-Node.md)
### Subscriber

View File

@@ -0,0 +1,3 @@
# Odometry
Start typing here...

View File

@@ -0,0 +1,11 @@
# Odometry
## Topic pour l'odométrie
- [](Odometry-GetPosition-Topic.md)
- [](Odometry-SetPosition-Topic.md)
- [](Odometry-Speed-Topic.md)
- [](Odometry-ToF-Topic.md)
- [](Odometry-WaypointReach-Topic.md)
- [](Odometry-AddWaypoint-Topic.md)
- [](Odometry-GetPID-Topic.md)
- [](Odometry-SetPID-Service.md)

View File

@@ -0,0 +1,11 @@
# WaypointReach
## Nom du topic : **odometry/waypoint_reach**
[Interface](OdometryWaypointReach-Topic-Interface.md)
## Objectif
### Publisher
- [](PCB-Odo-Interface-Node.md)
### Subscriber

View File

@@ -0,0 +1,35 @@
# OdometryAddWaypoint
`<modelec_interface/srv/odometry_add_waypoint.hpp>`
## Objectif
Ajouter un waypoint à la liste des waypoints de l'odométrie.
## Interface
```cpp
int8 id
bool is_end
int64 x
int64 y
int64 theta
---
bool success
```
## Params
| Type | Name | Description |
|-------|--------|-------------------|
| uint8 | id | id du waypoint |
| bool | is_end | waypoint de fin |
| int64 | x | coordonnée x |
| int64 | y | coordonnée y |
| int64 | theta | angle du waypoint |
## Retour
| Type | Name | Description |
|------|---------|------------------------|
| bool | success | requête réussie ou non |
## Utilisé par
-

View File

@@ -0,0 +1,28 @@
# OdometryAddWaypoint
`<modelec_interface/msg/odometry_add_waypoint.hpp>`
## Objectif
Ajouter un waypoint à la liste des waypoints de l'odométrie.
## Interface
```cpp
int8 id
bool is_end
int64 x
int64 y
int64 theta
```
## Params
| Type | Name | Description |
|-------|--------|-------------------|
| uint8 | id | id du waypoint |
| bool | is_end | waypoint de fin |
| int64 | x | coordonnée x |
| int64 | y | coordonnée y |
| int64 | theta | angle du waypoint |
## Utilisé par
-

View File

@@ -1,22 +0,0 @@
# OdometryData
`<modelec_interface/msg/odometry_data.hpp>`
## Objectif
Transmission des données d'odométrie depuis le controller vers la rasp
## Interface
```cpp
int64 x
int64 y
int64 theta
```
## Params
| Type | Name | Description |
|-------|-------|---------------|
| int64 | x | position en x |
| int64 | y | position en y |
| int64 | theta | angle selon z |
## Utilisé par
- [](Odometry-Logic-Processor-Node.md)

View File

@@ -0,0 +1,30 @@
# OdometryGetPid
`<modelec_interface/srv/odometry_get_pid.hpp>`
## Objectif
Récupérer les paramètres PID de l'odométrie.
## Interface
```cpp
---
float32 p
float32 i
float32 d
```
## Params
| Type | Name | Description |
|------|------|-------------|
| | | |
## Retour
| Type | Name | Description |
|---------|------|-----------------------|
| float32 | p | valeur du paramètre P |
| float32 | i | valeur du paramètre I |
| float32 | d | valeur du paramètre D |
## Utilisé par
-

View File

@@ -0,0 +1,23 @@
# OdometryPid
`<modelec_interface/msg/odometry_pid.hpp>`
## Objectif
Configurer le PID de l'odométrie.
## Interface
```cpp
float32 p
float32 i
float32 d
```
## Params
| Type | Name | Description |
|---------|------|--------------------|
| float32 | p | valeur paramètre P |
| float32 | i | valeur paramètre I |
| float32 | d | valeur paramètre D |
## Utilisé par
-

View File

@@ -0,0 +1,23 @@
# OdometryPos
`<modelec_interface/msg/odometry_pos.hpp>`
## Objectif
Récuperer la position du robot à partir de l'odométrie.
## Interface
```cpp
int64 x
int64 y
int64 theta
```
## Params
| Type | Name | Description |
|-------|-------|-----------------------------|
| int64 | x | position selon l'axe x (mm) |
| int64 | y | position selon l'axe x (mm) |
| int64 | theta | angle selon l'axe x (rad) |
## Utilisé par
-

View File

@@ -0,0 +1,31 @@
# OdometryPosition
`<modelec_interface/srv/odometry_position.hpp>`
## Objectif
Récuperer la position du robot à partir de l'odométrie.
## Interface
```cpp
---
int64 x
int64 y
int64 theta
```
## Params
| Type | Name | Description |
|------|------|-------------|
| | | |
## Retour
| Type | Name | Description |
|-------|-------|-----------------------------|
| int64 | x | position selon l'axe x (mm) |
| int64 | y | position selon l'axe x (mm) |
| int64 | theta | angle selon l'axe x (rad) |
## Utilisé par
-

View File

@@ -0,0 +1,31 @@
# OdometrySetPid
`<modelec_interface/srv/odometry_set_pid.hpp>`
## Objectif
Configurer le PID de l'odométrie.
## Interface
```cpp
float32 p
float32 i
float32 d
---
bool success
```
## Params
| Type | Name | Description |
|---------|------|-----------------------|
| float32 | p | valeur du paramètre P |
| float32 | i | valeur du paramètre I |
| float32 | d | valeur du paramètre D |
## Retour
| Type | Name | Description |
|------|---------|------------------------|
| bool | success | requête réussie ou non |
## Utilisé par
-

View File

@@ -0,0 +1,30 @@
# OdometrySpeed
`<modelec_interface/srv/odometry_speed.hpp>`
## Objectif
Récuperer la vitesse du robot à partir de l'odométrie.
## Interface
```cpp
---
int64 x
int64 y
int64 theta
```
## Params
| Type | Name | Description |
|------|------|-------------|
| | | |
## Retour
| Type | Name | Description |
|-------|-------|---------------------------------------------|
| int64 | x | vitesse selon l'axe x (mm^2) |
| int64 | y | vitesse selon l'axe x (mm^2) |
| int64 | theta | vitesse angulaire autour de l'axe z (rad^2) |
## Utilisé par
-

View File

@@ -0,0 +1,23 @@
# OdometrySpeed
`<modelec_interface/msg/odometry_speed.hpp>`
## Objectif
Récuperer la vitesse du robot à partir de l'odométrie.
## Interface
```cpp
int64 x
int64 y
int64 theta
```
## Params
| Type | Name | Description |
|-------|-------|---------------------------------------------|
| int64 | x | vitesse selon l'axe x (mm^2) |
| int64 | y | vitesse selon l'axe x (mm^2) |
| int64 | theta | vitesse angulaire autour de l'axe z (rad^2) |
## Utilisé par
-

View File

@@ -0,0 +1,27 @@
# OdometryStart
`<modelec_interface/srv/odometry_start.hpp>`
## Objectif
Lancer l'odométrie.
## Interface
```cpp
bool start
---
bool success
```
## Params
| Type | Name | Description |
|------|-------|-----------------------------|
| bool | start | démarrer l'odométrie ou non |
## Retour
| Type | Name | Description |
|------|---------|------------------------|
| bool | success | requête réussie ou non |
## Utilisé par
-

View File

@@ -0,0 +1,19 @@
# OdometryStart
`<modelec_interface/msg/odometry_start.hpp>`
## Objectif
Lancer l'odométrie.
## Interface
```cpp
bool start
```
## Params
| Type | Name | Description |
|------|-------|-----------------------------|
| bool | start | démarrer l'odométrie ou non |
## Utilisé par
-

View File

@@ -0,0 +1,27 @@
# OdometryToF
`<modelec_interface/srv/odometry_to_f.hpp>`
## Objectif
Recupérer la distance entre le robot et un obstacle à l'aide d'un capteur ToF.
## Interface
```cpp
uint8 n
---
int64 distance
```
## Params
| Type | Name | Description |
|-------|---------|-------------------|
| uint8 | n | numéro du capteur |
## Retour
| Type | Name | Description |
|--------|----------|-------------------------------------|
| int64 | distance | distance calculé par le capteur ToF |
## Utilisé par
-

View File

@@ -0,0 +1,21 @@
# OdometryToF
`<modelec_interface/msg/odometry_to_f.hpp>`
## Objectif
Récupérer la distance entre le robot et un obstacle à l'aide d'un capteur ToF.
## Interface
```cpp
int8 n
int64 distance
```
## Params
| Type | Name | Description |
|-------|----------|-------------------------------------|
| uint8 | n | numéro du capteur |
| int64 | distance | distance calculé par le capteur ToF |
## Utilisé par
-

View File

@@ -0,0 +1,19 @@
# OdometryWaypointReach
`<modelec_interface/msg/odometry_waypoint_reach.hpp>`
## Objectif
Indique que le robot a atteint un waypoint.
## Interface
```cpp
uint8 id
```
## Params
| Type | Name | Description |
|-------|------|----------------|
| uint8 | id | id du waypoint |
## Utilisé par
-

View File

@@ -0,0 +1,25 @@
# PCB Odo Interface
`<modelec/pcb_odo_interface.hpp>`
## Objectif
Interface de communication avec le PCB Odo.
[](Pilotage-PCB-odometrie.md)
### Topic
- [](Odometry-GetPosition-Topic.md) : recupère la position du robot à partir de l'odométrie et l'envoie.
- [](Odometry-SetPosition-Topic.md) : envoie la nouvelle position du robot à l'odométrie.
- [](Odometry-Speed-Topic.md) : recupère la vitesse du robot à partir de l'odométrie et l'envoie.
- [](Odometry-ToF-Topic.md) : recupère la distance du robot à l'obstacle le plus proche et l'envoie.
- [](Odometry-WaypointReach-Topic.md) : envoie un message lorsque le robot a atteint un waypoint.
- [](Odometry-AddWaypoint-Topic.md) : ajoute un waypoint à la liste des waypoints à atteindre.
- [](Odometry-GetPID-Topic.md) : recupère les valeurs des PID de l'odométrie et les envoie.
- [](Odometry-SetPID-Topic.md) : envoie les nouvelles valeurs des PID de l'odométrie.
### Service
- [](Odometry-ToF-Service.md) : recupère la distance du robot à l'obstacle le plus proche.
- [](Odometry-Speed-Service.md) : recupère la vitesse du robot à partir de l'odométrie.
- [](Odometry-GetPosition-Service.md) : recupère la position du robot à partir de l'odométrie.
- [](Odometry-Start-Service.md) : demarre l'odométrie.
- [](Odometry-GetPID-Service.md) : recupère les valeurs des PID de l'odométrie.
- [](Odometry-SetPID-Service.md) : envoie les nouvelles valeurs des PID de l'odométrie.
- [](Odometry-AddWaypoint-Service.md) : ajoute un waypoint à la liste des waypoints à atteindre.

View File

@@ -0,0 +1,3 @@
# PID
Start typing here...

View File

@@ -1,3 +1,5 @@
# Participer au wiki
Pour cela il faut télécharger l'IDE "Writerside" de JetBrains et cloner le repo documentation depuis le github de Modelec.
~~Pour cela il faut télécharger l'IDE "Writerside" de JetBrains~~ et cloner le repo documentation depuis le github de Modelec.
Update : JetBrain ont décidé de ne plus supporter Writerside, il faut donc utiliser l'extension Writerside sur n'importe quel IDE de JetBrains.

View File

@@ -18,15 +18,21 @@ Les mots de communication restent à définir mais un format qui peut être envi
- GET;POS
- GET;SPEED
- GET;DIST;N pour récupérer la distance mesurée par le ToF numéro N.
- GET;PID pour récupérer les valeurs des PID.
### Réponse du PCB à une demande de donnée
- SET;POS;xx;yy;tt pour renvoyer la position mesurée (x,y,angle) en mm et en radians.
- SET;SPEED;xx;yy;tt pour renvoyer la vitesse mesurée (x,y,angle) en mm².
- SET;DIST;N;xx pour renvoyer la distance mesurée par le ToF N en mm.
- SET;PID;P;I;D pour renvoyer les valeurs des PID (P, I, D).
### Reset de la position par la raspi
- SET;POS;xx;yy;tt
### Envoi de la liste des points de passage par la raspi :
- SET;WAYPOINT;id;type;xx;yy;tt pour écraser le point de passage avec l'id renseigné. Type vaut 0 pour point de passage (en vitesse, peu précis), 1 pour un point d'arrivée (à l'arrêt, très précis)
### Réponse du PCB à un ordre (2 dernières commandes)
### Démarrage de l'odométrie par la raspi :
- SET;START;b pour démarrer / éteindre l'odométrie (b = 1 pour démarrer, b = 0 pour éteindre)
### Changement des coefficients PID par la raspi :
- SET;PID;P;I;D pour changer les coefficients PID (P, I, D) de l'odométrie.
### Réponse du PCB à un ordre (4 dernières commandes)
- OK;XXXX;YYYY;...; avec XXXX, YYYY, ... identiques à la commande SET pour valider une commande effectuée.
- KO;XXXX;YYYY;...; pour une commande échouée, ou pas de réponse
### Envoi de la position en direct au passage d'un waypoint par le PCB :

View File

@@ -0,0 +1,9 @@
# Speed Result
`<modelec/speed_result.hpp>`
## Objectif
Récupérer les valeurs de vitesse du robot à partir de l'odométrie.
### Topic
### Service

View File

@@ -1,34 +1,34 @@
# Connect To Raspberry
## Connect to the raspberry with ssh without knowing its IP
## Se connecter a la raspberry avec ssh sans connaissance de l'IP
Usage of tailscale to connect to the raspberry without knowing its IP.
Utilisation de tailscale pour se connecter à la raspberry sans connaitre son IP.
### Installation
[Download the tailscale client](https://tailscale.com/kb/1347/installation)
[Télécharger le client tailscale](https://tailscale.com/kb/1347/installation)
### Usage
1. Create an account on tailscale
2. Register your device
3. Install the tailscale client on your device
4. Run this following commands
1. Créer un compte sur tailscale
2. Enregistrer votre appareil
3. Installer le client tailscale sur votre appareil
4. Lancer les commandes suivantes
```Bash
sudo tailscale login
```
Now ask an admin to give you the access to the raspberry
Maintenant demandé à un admin de vous donner l'accès à la raspberry.
```Bash
sudo tailscale status
```
With `tailscale status` you have the IP of the raspberry.
Avec la commande `tailscale status` vous avez l'IP de la raspberry.
```Bash
ssh modelec@<IP>
```
The password must be the famous one.
Demander à un admin de vous donner le mot de passe.