# ROS2 Industrial Transferframes In deze opdracht gaan we werken met transfer-frames. We gebruiken een robotarm in een gesimuleerde omgeving (Gazebo) om objecten op te pakken en te verplaatsen. De robotarm is uitgerust met een vacuum-grijper die objecten kan vastpakken. Er is een camera aanwezig die de positie van de objecten kan detecteren en doorgeven aan de robotarm. Je kunt de virtuele omegving starten met de volgende commando: ```bash ros2 launch transferframes environment.launch.py ``` Je zult zien dat Gazebo en RVIZ wordt. In de omgeving zie je een robotarm, een tafel en een camera. Met de camera kunnen we de positie van objecten detecteren. De camera is gepositioneerd boven de tafel en kijkt naar beneden. De camera stuurt de gedetecteerde objectposities, na het nemen van een foto, door naar een ROS2-topic genaamd `/ros_industrial/sensors/custom_logical_camera/objects`. Dit topic bevat de coördinaten van de objecten in de wereld. Let op: De camera is een zo gnaamde "logical camera". Dit betekent dat het geen echte beelden of foto's maakt, maar in plaats daarvan de posities van objecten in de wereld doorgeeft. Dit is handig voor simulaties omdat het eenvoudiger is dan het verwerken van echte beelden. Je kunt objecten op de tafel plaatsen door het volgende commando uit te voeren: ```bash ros2 launch transferframes spawn_parts.launch.py ``` Je ziet ze nu verschijnen op de tafel in Gazebo, maar nog niet in RVIZ. Dit komt omdat de objecten nog geen frames hebben. Door het nemen van een foto met de camera, worden de objecten gedetecteerd en krijgen ze frames toegewezen. Dit gebeurt automatisch wanneer de camera een foto neemt. Je kunt dit doen door het volgende commando uit te voeren: ```bash ros2 run ros_industrial_sensors take_photo.py ``` In Rviz kun je nu de frames van de objecten zien. Elk object krijgt een uniek frame toegewezen, zoals `object_1`, `object_2`, etc. Deze frames geven de positie en oriëntatie van de objecten in de wereld aan. gebruik het volgende commando om de frames te bekijken: ```bash ros2 run tf2_tools view_frames ``` dit commado genereert een PDF-bestand genaamd `frames__