Pour installed les dépendences de packages lancer:
sudo apt install ros-foxy-vision-opencv ros-foxy-cv-bridge
rosdep install -i --from-path src --rosdistro foxy -y -r
Dans la racine du workspace (ws), lancer:
colcon build
source ./install/setup.sh
ros2 launch tennis_court tennis_court.launch.py
Dans la racine du workspace (ws), lancer:
colcon build
source ./install/setup.sh
ros2 launch robot_control all.launch.py
make test
Note: Dans la racine du base (parent de ws) = où cette Make file se trouve.
Nous utilisons autopep8 pour vérifier et réparer erreurs de code style qui utilise PEP8 comme guide de style.
En cas tu veux vérifier le code style d'un fichier, tu peux utiliser:
autopep8 <path-to-file> --select=E,W --max-line-length=120 --diff
En cas tu veux réparer le code style d'un fichier, tu peux utiliser:
autopep8 <path-to-file> --max-line-length=120 --select=E,W
Pour VSCode, le fichier .vscode/settings.json
est configuré pour utiliser autopep8 à chaque sauvegarde.
- Florian
- Laurent
- Ermance
- Danut
- Jakub
Ce dépôt doit être cloné dans le dossier src
d'un workspace ROS 2.
Le dossier ws/src contient trois packages : tennis_court, top_camera et robot_control
Le dossier ws/src/tennis_court
est un package ROS contenant le monde dans lequel le robot ramasseur de balle devra évoluer ainsi qu'un script permettant de faire apparaître des balles dans la simulation.
Ce package ne doit pas être modifié.
Consulter le README du package pour plus d'informations.
Le dossier ws/src/top_camera
est un package ROS contenant le processing des données de la zenith_camera
- la caméra placée au dessus du terrain de tennis.
Les codes qu'elles contient permettent donc, en s'abonnant à la caméra, de détecter le robot et les balles, et ainsi de detreminer le chemin à suivre.
zenith_camera/image_raw
: raw camera image qui viens de packagetennis_court
(sensor_msgs.msg.Image
)
robot/target_position
: position destinée du robot (geometry_msgs.msg.Pose2D
)robot/position
: position vrai du robot (detecté par camera) (geometry_msgs.msg.Pose2D
)
Le dossier 'ws/src/robot_control' est un package ROS contenant les codes de control du robot.
robot/target_position
: position destinée du robot (geometry_msgs.msg.Pose2D
)robot/position
: position vrai du robot (detecté par camera) (geometry_msgs.msg.Pose2D
)
demo/cmd_vel
: commande de vitesse (linéaire et rotationnel) du robot (geometry_msgs.msg.Twist
)- (dummy_target_position, qui publie vers
robot/target_position
pour tester le robot_control)
Le dossier docs
contient tous les documents utiles au projet:
Le dossier reports
doit être rempli avec les rapports d'objectifs et de rétrospectives en suivant les deux templates mis à disposition. Ces deux rapports doivent être rédigés respectivement au début et à la fin de chaque sprint.