 intern in ARTC last semester. So I would like to thank this opportunity to give you a presentation here. And I would like to share my most project during my internship. So the purpose of this presentation is to show you a very simple, how to implement a simple most project. OK, today in most in the sound countries, in aerospace industries, you have to use a masking tape to stick on hundreds of components. This actually is quite with high band power, and it's not really efficient. So if we can use the robot to do the automatic masking process, it will save a lot of band power and a lot of money, especially for some small companies. It will be more affordable. So this is actually the intention to do this project. So using the rows, I implement the Cartesian motion planner using rows for masking tasks on COVID-19. Now two minuses are used. The first one is Cartesian flagging, and the second one is the cut. Besides, I also implement here, actually no row space algorithm for enabling communication between your robot and the external parameters. So this is actually my project development. First of all, we need to use the rows We need to create the URDF. URDF stands for Universal Robotic Description Format. This actually is the UR10 URDF. As you can see from here, this is a sample code of URDF. And it is an XML format. So this is the joint. This sample will show you the shoulder pan joint. Its parallel link is basically, and its child link is the shoulder link, which show you the visual features and some other information like the inertia, this information. So to simulate the real working environment in ARTC, a table was created. And we can see from here that the UR10 robot is actually on this table. And then this is the PGO tool, which is used to instance the liquid to perform the masking tasks. This is the PGO tool, URDF. So next, we need to load in the URDF into Moody Setup Assistant. Moody Setup Assistant is actually going to generate some configuration files and launch files. So this is some pages of the Moody Setup Assistant. As you can see from here, we need to set up the virtual joint. We also need to set up the landing groups, which is to tell the road step. It has different parts of the robot. And we can also see from here that we have the anti-infector and the robot post. Robot post is to set up fixed post of, for example, the home position of the robot. Well, when we're seeing the project, I sometimes I feel that the robot will move in, because all the joints will move in the omnidirection. So sometimes the joint post will be quite dangerous and it is unsafe. Especially when we have the table and work cell, sometimes the robot will collide with the table and work cell. It's quite unsafe and dangerous. So I decided to set the joint limit. This is how I set the joint limit in the URDF. But for this one, actually we can see from here that it's from minus pi to positive pi. As we know that all the joints can move in the omnidirection, so it's 360 degrees. So but this one is written in the radius unit. So as we can see from here that we set some, for example, the shoulder lift lower limit. It's from minus 1.5, it's almost like a minus half pi to zero. And then you can avoid some unnecessary posts. For example, this one, the robot. It is unnecessary to move in these posts. It's more likely to move in these posts. So it's like this one. So next is a Cartesian plug-in implementation. Cartesian plug-in is actually a user friendly part planner for the movie. It is similar to, you see, you know, can easily interact with the QT widget and the updates environment. It defines the site Cartesian waypoints which can be passed to the Cartesian planner for the movie package. And it can be executed on the bonus simulator and the real robot. This is the widget. And we can add a new wind point and then to remove it at any time. And then we also can use the interaction marker to set the waypoints. So in this project, we want to, I want to use the robot to just write the ARTC lighters. So it's like the right side of this one. But as we can see some of them are the linear motion but some of them are more like trajectory points. So if we use interaction marker to do the trajectory points, it will be more like it's not easy to do because we have a lot of different points. It's not easy to just use interaction marker to set robot. So we use the path planner to get all the coordinates that we want. And then what I do is I use the Excel to get all the coordinates and format it to the way to the YAML file. And then YAML file is loading into the Cartesian path planner and we can also, I know we can execute Cartesian path. So this is the widget. We also can change this step size which is to change the speed. So this is actually the demonstration of the cutting plugin that I use to describe ARTC. Since the Pico tool is quite expensive so I use the marker tool instead. So the next model I would like to introduce is a decal. So for decal, you can press the software to implement gratings. The first one is the robot model which will solve the forward and inverse kinematics. The second one is the trajectory points which is to define what the path moves like. And the third one is another to find a valid route along the trajectory which is in the provided model of the robot. So these I have used the path predictor to get all the coordinates. So for the linear motion it will be quite easy to write this equation. But for some trajectory points, I use the Excel to get a polynomial equation. This one is, so I don't need to get a, I don't need to write my equation myself. So this is actually my equation. So for the top one, top two is A is to write a letter A. I think A is like this one. So the first one is in this way. So it's the linear motion. So the C is the trajectory is a curve line. So I use the polynomial equation that I get just now. But we can also use the medic equation to do that. So after we have some, and then we now exactly it. So we have a lot of different joint solutions. You can see the one point. So for example, the robot can move in this point and then you can have a lot of different joint solution. So this one is to show you that they found a different joint solution out of 10 equations. But actually the robot can just, so this one is to, and then the decad have us to find the lowest cost function, which is to get the best curve, best path that you can move past to write the ARTC letters. So this is actually the, we can see that from here. We can see from here is the lowest cost is 5.8. It's quite small. So this is the user decad to write the ARTC, but because of my invention, I do not have time already, so this one is just a simulator. So it's actually quite similar to the previous one, kind of same flagging, write the ARTC. So next, I will actually introduce the I'll actually using the serial. Actually they just now introduced about this one already, but for my project, for my project, so I'll control is used to simulate that roast can control the full central point, the TCP. So for this one, the publisher and self spread communication mechanism was created. So use the USB communication. So the PC published a message. This one is to publish a message is the target LED. By the subscriber, our subscriber, this one is the, is the Arduino. So Arduino subscribe to the message and then to define the output voltage and then the solid state relay will be activated and then solid state relay is an electronic switch device to arm or off the LED. So the LED is used to simulate the TCP for this one. So this one is the sample that I write and the Arduino. So we need to set up the subscriber first and then publishers publish the message and the subscriber to subscribe to the message. So this is used the Roast Serial to simulate this one. So PC published a message. And then we can see from here, actually the, as you can see from here, I already asked you on, on, on, turn on or off this one. After that, we know that the Roast, the PCD can be controlled by the Roast Serial and we know that this project is the to perform the machine tasks and use the Pico tool. But for Pico tool, sometimes we don't need, is that necessary to arm all the time? So sometimes it needs you off. So for this one, I use the, I compare, I get the TCP coordinates first and then compare the TCP coordinates and then compare with my desired TCP coordinates, which is to define the arm or off the Pico tool. So when we compare it, I think we will publish a message to arm or off the Pico tool. So this is how I write the code of this part. Besides to use the coordinates, we can also use the robot join calls. So these are two models that we can use. So if I'm choosing the Roast, we can join this event. Yeah, thanks, Kai. Yeah, thanks, Kai. So the floor is open for anyone who want to do lighting work. But to get it started,