WEBVTT

00:00.650 --> 00:07.370
In this course, we will use just some of the functionalities offered by movies to specifically those

00:07.370 --> 00:11.360
related to inverse kinematics computation and trajectory planning.

00:12.020 --> 00:12.500
As move.

00:12.530 --> 00:16.250
It is a feature rich software with numerous capabilities.

00:16.280 --> 00:23.060
Let's explore its organization and key concepts to understand the underlying logic behind their usage

00:23.060 --> 00:24.290
and configuration.

00:24.470 --> 00:30.950
This will also enable you to independently experiment with new functionalities that we won't cover during

00:30.950 --> 00:31.790
this course.

00:32.800 --> 00:34.060
At the core of Move It.

00:34.150 --> 00:40.900
Lies the Move Group, which acts as a middleware for the communication between all the other components

00:40.900 --> 00:42.820
and functionalities of it.

00:42.940 --> 00:47.800
It facilitates the exchange of resources among various modules.

00:48.610 --> 00:55.360
One of such modules will be using is the trajectory execution, which allows us to interface directly

00:55.360 --> 01:01.120
with move it, controlling the robot's movement logic and the trajectory planning for the execution

01:01.120 --> 01:02.560
in the physical robot.

01:03.320 --> 01:10.190
This module interfaces directly with the controllers of the robot's motors through the Ros2 Control

01:10.190 --> 01:17.420
library, ensuring that each joint follows a predefined trajectory, so positioning each joint at a

01:17.420 --> 01:18.980
specified point in time.

01:19.460 --> 01:26.540
Another essential functionality involves managing and updating a planning scene which represents the

01:26.600 --> 01:30.020
robot's environment and the obstacle surrounding it.

01:31.160 --> 01:36.980
This information is crucial during directory planning to ensure a collision free movement.

01:37.280 --> 01:45.860
Typically, the robot is equipped with sensors such as 3D cameras or lasers to detect obstacles, allowing

01:45.860 --> 01:48.890
it to create and manage the planning scene.

01:49.590 --> 01:55.410
With the information from the planning scene and the robot's kinematic data, it becomes possible to

01:55.410 --> 02:01.410
plan trajectories that move the robot and a vector from one point to another in the three dimensional

02:01.410 --> 02:03.990
space while avoiding obstacles.

02:04.230 --> 02:10.950
Of course, one of the essential modules for the trajectory planning is the inverse kinematic solver.

02:11.400 --> 02:17.670
Although Movie two already provides several general purpose solvers for the inverse kinematics which

02:17.670 --> 02:24.150
we are going to use in this course, it is also possible to write custom solvers that are tailored for

02:24.150 --> 02:25.440
a specific robot.

02:25.650 --> 02:32.940
These custom solutions are often used to fasten kinematics calculation, especially in industrial settings.

02:33.680 --> 02:39.470
Finally to make all these functionalities easily accessible for various purposes.

02:39.500 --> 02:45.920
Move to also offers different user interfaces to interact with its library.

02:45.950 --> 02:53.870
For instance, we will use a graphical interface via RVs to send goals to the robot plan and execute

02:53.870 --> 02:54.830
trajectories.

02:55.280 --> 03:02.780
Additionally, there is also a command line interface and an API in Python and C plus plus allowing

03:02.780 --> 03:07.520
the usage of movies from any node from any Ros two application.
