VirtualBox
1. Installer le CD add-on (CD des additions invité) ici
2. Si il y a une erreur:
2.1. sudo apt install gcc make perl -y
2.2. cd /media/ros2/VBox_GAs_6.1.50/
2.3. sudo ./VBoxLinuxAdditions.run
2.4. sudo reboot
Installation de ROS2 iron
TP1: Turtle
Dans une 1ère fenêtre (Ctrl + Alt + t)
1. cd ros2_iron/install/
2. source local_setup.bash
3. ros2 run turtlesim turtlesim_node
note1: ros2 node list
permet d'observer le nom du node: ici turtlesim
note2: ros2 topic list
permet d'observer les topic disponibles: ici
/parameter_events
/rosout
/turtle1/cmd_vel
/turtle1/color_sensor
/turtle1/pose
note3: Consultez cette page pour comprendre le fonctionnement des topics
note4: ros2 topic list -t
permet d'observer les topics disponibles mais aussi leur type: ici/parameter_events
[rcl_interfaces/msg/ParameterEvent]
/rosout [rcl_interfaces/msg/Log]/turtle1/cmd_vel
[geometry_msgs/msg/Twist]/turtle1/color_sensor
[turtlesim/msg/Color]/turtle1/pose
[turtlesim/msg/Pose]
note5: ros2 topic info /turtle1/cmd_vel (par exemple) nous affiche les informations suivantes:Le type de message + Le nombre de publicateur (UK: publisher) (normalement 0) +Le nombre d'abonnés (UK: subscribers) (devrait être 1, ou 2 si vous fonctionnez en même temps avec des versions Python et C++).
Exemple: ros2 topic info /turtle1/cmd_vel
Type: geometry_msgs/msg/Twist
Publisher count: 0
Subscription count: 1
note6: ros2 interface show turtlesim/msg/Pose (par exemple) nous affiche quelques informations comme:
Exemple: ros2 interface show turtlesim/msg/Pose
float32 x
float32 y
float32 theta
float32 linear_velocity
float32 angular_velocity
Dans une 2nde fenêtre (Ctrl + Alt + t) ou dans un 2nd onglet (Ctrl + Shift + t)
4. cd ros2_iron/install/
5. source local_setup.bash
6. ros2 run turtlesim turtle_teleop_key
: On commande bien le node turtlesim. Ainsi, on peut commander la tortue avec le clavier.
7. Il est envisageable de publier dans le topic comme ci-dessous:
ros2 topic pub /turtle1/cmd_vel geometry_msgs/msg/Twist "linear:
x: 0.5
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.5"
note7: il est également possible d'effectuer un rosbag (ros2bags) pour rejouer la séquence plus tard.
[SOURCE]