A method for inspecting and/or handling a component (20) via a robotic arm (10), wherein movement of said robotic arm (10) is managed via a controller (30) as a function of movement instructions, in which said movement instructions specify one or more points of a trajectory in a reference system of the robotic arm (10), wherein one or more sensors (102, 12) are mounted on at least one of said robotic arm (10), or are installed on a platform (14) on which said robotic arm (10) is mounted, or are installed in an environment in which said robotic arm (10) is positioned, wherein said controller (30) and said one or more sensors (102, 12) are in communication with a computer (40a), the method comprising:
- a) during a first offline phase (2100):
- receiving a three-dimensional model (CM) of said component (20);
- showing said three-dimensional model (CM) of said component (20) in a first virtual environment (42b) having a given reference system (REF), in which said first virtual environment (42b) is configured to allow specification of one or more points of interest (CPOI);
- receiving said one or more points of interest (CPOI) in said reference system (REF) of said first virtual environment (42b), wherein each point of interest (CPOI) has a respective identifier and respective coordinates in said reference system (REF) of said first virtual environment (42b);
- showing a graphic interface (42c;
- 42d) configured to specify a sequence of commands (CPRG) comprising a plurality of commands (CMD) configured to interact with at least one of said robotic arm (10) or said one or more sensors (102, 12), wherein said graphic interface (42c;
- 42d) comprises at least one of a graphic interface (42c) for specifying a list of commands (CMD) or a graphic interface (42d) for specifying said sequence of commands (CPRG) via a flowchart, wherein each of the plurality of commands (CMD) comprises data that identify an action (AT) and one or more parameters (ARG) for said action (AT), and wherein the plurality of commands comprises a first movement command configured for movement of said robotic arm (10) into a given point of interest (CPOI1) of said one or more points of interest (CPOI) by specifying as one of said one or more parameters the respective identifier of said given point of interest (CPOI1);
- b) during a following second online phase:
- acquiring (2202) via said one or more sensors (102, 12) at least one of one or more images (IMG) or a point cloud (PC) of said component (20), and comparing said at least one of one or more images (IMG) or said point cloud (PC) with said three-dimensional model (CM) of said component (20) to determine a position of said component (20) with respect to said robotic arm (10);
- converting (2206) coordinates of said given point of interest (CPOI1) in said given reference system (REF) of said first virtual environment (42b) into coordinates in said reference system of the robotic arm (10) using said determined position of said component (20) with respect to said robotic arm (10);
- generating (2208) a second virtual environment using said three-dimensional model (CM) of said component (20) and a model (RM) of said robotic arm;
- repeating the following steps for each command of said plurality of commands (CMD) of said sequence of commands (CPRG):
- determining whether said command (CMD) corresponds to said first movement command configured for movement of said robotic arm (10) into said given point of interest (CPOI1);
- in a case where said command (CMD) corresponds to said first movement command configured for movement of said robotic arm into said given point of interest, selecting (2210) a trajectory configured to move said robotic arm (10) in the coordinates of said given point of interest (CPOI1) in said reference system of the robotic arm (10) and evaluating said selected trajectory in said second virtual environment to determine whether said robotic arm (10) can follow said selected trajectory without colliding with said three-dimensional model (CM) of said component (20);
- and
- in the case where said robotic arm (10) can follow said selected trajectory without colliding with said three-dimensional model (CM) of said component (20), generating one or more movement instructions (RPRG) for said selected trajectory and sending said one or more movement instructions (RPRG) to said controller (30).