This study proposes a modular
Based on augmented reality implementation, provide an immersive experience when learning or teaching the planning stage, control system and processing parameters of the fully automatic work unit.
The architecture of the system consists of three code modules, which can operate or combine independently to create a complete system that can guide engineers from the layout planning stage to the final product.
The layout planning module determines the optimal arrangement for placing various machines in the layout, in which case, the conveyor belt for transportation, the robot arm for picking upand-
The final prototype is generated by the computer CNC milling machine
Simulation pickup of robot arm moduleand-
Offline operation from conveyor belt to computer numerical control (CNC)
Machines that utilize collision detection and reverse motion.
Finally, based on the uniform space decomposition method and the collision detection of the axis alignment surround box, the CNC module is virtual processed.
The case studies conducted show that, given this situation
Round arrangement is desirable while pickingand-
Place the system and the resulting G-
The maximum deviation generated by the code is 3. 83u2009mm and 5.
This study is divided into three independent scheme modules, which have their own features, contribute to the whole system and are able to be independent as a separate system.
The planning module focuses on the initial planning phase, that is, the machine layout is planned using AR technology to optimize the required material travel time and area.
Robot arm module modeling AR robot arm with inverse dynamics, pick the workpiece from the conveyor belt and put it into 3-
Vertical CNC milling machine.
The virtual CNC finally removes the simulated material by collision detection and generates a G-
The code program for the actual processing operation.
Displays the complete procedure that the engineer should follow when applying this training system.
ARToolKit is used to create a running program that can generate AR content through markup-
A tracking-based approach.
It is essentially a software library for building an AR environment rendered with OpenGL.
This is the foundation of all AR.
The content generated in this study, where different markers perform different tasks according to the program of the module.
Microsoft Visual C 2008 express edition is used to compile and debug C code that will run synchronously with the help of ARToolKit and OpenGL.
In terms of hardware, a personal computer is enough to run the program and the AR environment.
Added that this is a headmounted-display (HMD)
It acts as a display system and a webcam for tracking and registration.
Markers are symbols and patterns with specific functions that can only be recognized by AR programs and will be placed in their respective working environments.
For the layout planning module, the desktop system is sufficient to calculate the required space and time, however, the robot arm module marker is placed in the robot lab for proper distance estimation, superimpose a virtual robot arm of the maximum size on a physical arm.
To simulate the process, the CNC simulation mark is placed on the CNC machine itself.
All of these marks must be placed under direct lighting so that the camera can be seen clearly, and the camera must be placed at the right height, because if the camera is not adjusted to the correct height, the marked image will be blurred.
The camera is mounted on an adjustable tripod facing the marked position and connected to the laptop.
Displays the physical settings of each module in their respective environments.
The individual in this manuscript has given written informed consent (
As stated in the PLOS consent form)
Release details of these cases.
When the camera sees the marker in the real world and captures it in the live video, the program calls the specific feature associated with the marker mode.
The virtual overlay of the model will be displayed at the top of the tag, as can be seen on HMD.
This means that virtual content has been successfully integrated with real-world images.
The basic aspect of AR programming is to generate 3D content that starts with a single point.
This is especially useful in the case of equal points at the end of the robot\'s arm.
Until the actuator or milling bit needs to be visualized.
The OpenGL function draws a vertex in the space where the user can define the size and color.
Connect them by creating at least 2 points and then you can visualize a line.
This is used in cases where visual paths are required, such as material travel paths between machines.
By connecting the two vertices together, the line width and color are fully adjustable again, the line is drawn automatically.
Creating a complete 3D model in the AR environment is achieved by importing CAD files in stereo molding (STL)
And read through the program.
The STL file actually contains the coordinates of many triangles used to build the model.
Therefore, the program needs to recognize and read this data.
Create an and function that can recreate the CAD model as fully rendered AR content.
Any form of data obtained from the simulation needs to be exported or generated in some way.
Otherwise, it is difficult to extract real-time data during the simulation process, especially when the real-time data is constantly updated.
The program must be able to extract data from the simulation through user input and put it into a separate file that can be opened in a text editor.
The user input is assigned to the mouse click, where the condition is stated by the Zhonghe function once the right mouse button is clicked.
This works in the decision-making algorithm, which is paired with a function that prints coordinate data to a separate output file.
All three modules take advantage of this code function, which allows the user to obtain and edit the parameters obtained in the simulation.
The last set of code that plays an important role in the whole system is collision detection algorithm.
This refers to the ability to detect objects within a certain distance by first calculating relative distances.
A more advanced version of the code is applied in the CNC module, which will be explained in later chapters.
Collision detection is very important in the field of manufacturing because accidents involving human-machine collisions can be fatal.
In this system, it is applied to detect collisions between machines during layout planning to identify pickand-
Place features for the robot arm and simulate material removal.
This is achieved through a series of decisions that set the minimum acceptable distance value and check whether the distance between Marks is equal to or greater than the said value.
Otherwise, a collision is said to have occurred and the model is rendered red to describe this.
The first module, work unit layout planning, contains AR to help develop flexible manufacturing units (FMC)
By superimposing the 3D model of the machine into the physical environment, both spatial constraints and collision detection are considered.
In fact, each 3D model that exists in this module can be scaled to any value.
Therefore, the user is free to consider the actual size and area required for each machine.
However, for the convenience of analysis and case studies, the machine is scaled to fit the dimensions of the commercial webcam to capture all the marks representing the machine, when the model still exists in the camera\'s field of view (FOV).
Virtual reality systems can also scale objects freely, however, high computational requirements for real environments and lack of spatial perception are limiting factors.
Four types of layout, namely, straight line, U-shape, are analyzed. shaped, S-shaped (serpentine), and semi-circle-
Shape the environment.
Data structure in Extensible Markup-up language (XML)
Information is then developed for recording about spatial relationships, material travel distances, area occupation, processing time, and order of operations.
The first mark placed as world coordinates is also the first machine on the production line.
Each subsequent marker will act as the next machine, and the distance between that marker and the previous one will be the relative distance that exists between each VM, as shown.
Since the required area is also considered, the program must be able to identify which marks have the longest distance relative to the reference mark.
By doing so, the system is aware of the maximum possible area required for the work unit;
Assume that the given space is rectangular or square.
The integrated collision detection code causes a change in the color of the virtual machine when registering a collision, as shown, letting the user know that the machine is placed too tightly.
The best layout determination will be carried out in the case study section, where the four different types of layouts mentioned earlier will be tested to determine their impact on the line balancing cycle time.
Line balancing is the key way to design the most effective process that meets the expected quantity or demand of the product, but it rarely takes into account the time required for the material to move between stages, and how this affects the cycle time that focuses on processing time.
In fact, the line balance is calculated by finding the required number of stages according to the cycle time, and by definition, the cycle time is the time required for the product to appear from the stage.
Calculate cycle time based on available time and requirements.
The value of And is determined by the user according to their specific requirements.
Next, a product requires several operations to be manufactured or assembled, each with its specific time, to be completed according to the complexity and requirements of the operation.
By dividing the total work content, the total number of stages can be found.
Each machine in the AR environment is treated as a separate stage, and then the system calculates the material travel distance based on the travel speed, which is determined by the user.
Therefore, it is possible to find the material travel time, that is, the time required for the material to move from the first stage to the final stage.
You can then add back to get the total operation time.
The new cycle time is calculated by considering the material travel time, which represents a more accurate cycle time because it adds the travel time to the actual work content.
This allows engineers to carefully consider which layout arrangement is best suited to the operations they need, as the standard time including material flow reduces the risk of late delivery of the final product.
The complete formula is shown below.
If a new cycle time is added to the selection,and-
Placement operation, arm does not perform specific operations such as welding, welding.
Therefore, when creating a virtual robot arm, the focus of the research on the motion of the robot is to obtain accurate modeling.
The module highlights the Robot Motion research based on the kuka kr 16ks robot, as well as the functions used to acquire capture visualization to pick and place virtual artifacts. Pro-
Engineers are used to model the robot, scale and joint through the joint, and then assemble together in OpenGL to create a complete virtual robot arm, as shown in the figure, each joint can be at variable anglesAccording to D-
H. kinesiology, first assign a coordinate frame to each compartment of the robot, and the origin is assigned to the top surface of the base.
The main goal is to obtain the angle of each joint that causes the position of the end actuator.
These angles can then be used for physical robot arm programming. A D-
The H coordinate frame consists of four parameters, namely, link length, link twist, joint angle, and link offset.
The link is demonstrated in, and how the parameters are linked.
The general equation of positive motion is the product of a matrix transformation from 0 frames to 7 frames.
Each value of represents each joint.
This gives us the formula for the forward motion and the position of the end actuator.
, And represents the coordinates of the end actuator.
Where the remainder and sine values of the corresponding matrix are represented.
However, in order to obtain the joint angle of the arm, reverse movement is required.
Once the angle of each arm is determined, the robot can use these values to obtain the desired terminal actuator coordinates.
A limit is set to reduce the possibility of an error, because these joints are twisted joints that do not affect the coordinate of the continuous joint, and the end actuator will simply face down.
A free body diagram showing other joints, which is shown in X-
Y plane rotating around Z-
Axis, and, and displayed in X-
About Z-plane rotation of Y-axis.
This method of calculating angles is described in detail in a recent paper that explains the joint assumptions made.
After completing the motion modeling of the robot, start the pickup and placement operation.
The Teach pendant must be able to manipulate virtual inventory in space to show that the robot arm is picking and placing inventory.
This is called capture, and when an operation is performed, the object immediately occupies a position in the space.
With just a click of the mouse, the virtual object will occupy the position of the manipulator tip in the case of a collision.
Users can also choose to place objects anywhere in the space by releasing the mouse button, because the program is designed to constantly update the latest location of the virtual object. (x, y, z)
Refers to the current position of the virtual object, and (X, Y, Z)
Refers to the position of the tip of the pendant when the mouse button is clicked.
The results are displayed in, while the function algorithm is displayed in.
The main purpose of the final code module is to process the final product according to the user\'s design.
In order to achieve this, the collision detection system, processing parameters, head-up-display (HUD)and G-
Code generation will be integrated together.
The previously used collision detection algorithm only calculates the distance between two points based on the formula described below.
However, this formula means that both points are considered the center point of the sphere.
Because the distance between them is constant.
If a maximum allowable distance is set, such as a value of 100 cm, this would be equivalent to two spherical objects with a radius of 50 cm touching each other at a single point.
Therefore, the algorithm can only be used to find collisions between two points or spheres without edges or corners.
In this study, it is assumed that the stock workpiece is a single material block and the cutter is bound by a rectangular box, so a collision algorithm suitable for cuboid objects is needed.
In addition, the nature of vertical milling requires variable depth from the top surface of the workpiece to visualize the depth of the tool engagement. The axis-
Align border (AABB)
Algorithm to meet these requirements.
Since a bounding box or a typical 2D box consists of four sides, the routine requires four conditions, that is, Four Corners.
The method of seeking intersection is based on the simple logic of in.
To apply this logic to the simulation, the box must first be converted to a 3D cube.
Both the inventory and the tool will be treated as a bounding box.
However, if the typical AABB method is used, inaccurate visualization will occur.
If the entire tool is placed into the workpiece, the AABB collision will only result in visualization of the intersection between the two boxes, which means that there is a floating black box inside the workpiece.
In actual milling operations, this will result in cutting depth from the surface of the workpiece to the tip of the tool, assuming that the operator actually cuts the material until the depth of the tool engagement is higher than the actual length of the tool.
In other words, the cut depth needs to be set to a variable, unlike the width and length.
This is reflected in z-
The axis value evaluates only the lower surface, not the top of the tool.
Instead, the top is associated with the top surface of the workpiece.
Variables are defined as the depth of cutting, or the height difference between the top surface of the workpiece and the lower surface of the cutter.
Decomposition of uniform space (USD)
The method is also used to represent the inventory artifacts in order to visualize them when cutting materials. In a USD-
Represent the workpiece as a cube, sphere, or any shape of the same size based on the method.
This means that the entire stock consists of smaller cubes, where the size of each cube determines the resolution of the object.
When the cutter or cutter passes through the cube, the cube that intersects the cutter during the machining process is rendered black, and the volume of the final black cube represents the result of the machining process. shows the USD-
Based on inventory, and visualization of cutting depth.
The parameters involved in the simulation help the user through the real
Visualize according to the time of the current operation.
These parameters are divided into user input and calculated output.
Unlike the robot arm, the motion modeling of the actual CNC machine is not included in this code module, so by placing the mark directly on the machine itself, borrowing axis motion and trajectory planning from physical machines.
However, not all CNC machines calculate the user\'s machining parameters and are therefore included in this program.
Cutting speed = cutting speed or spindle speed = number of cutting teeth = cutting width (
It can be a full knife or a partial knife)
Depth of tool engagement = cutting speed (Handbook value)
Length of pass or cut = table (machine)
Feed, or feed rate = feed per tooth cutter, or chip load (Handbook value)
D = tool diameter = near length = length of \"super stroke\" where the turret is beyond its boundary, spindle speed, cutting time, functions in the code allow the system to read values from external files in the same directory in the program.
In order for the user to enter the necessary parameters, including a separate file named, he or she only needs to enter the first six values, that is, tool diameter, workpiece thickness, cutting width, cutting speed, feed per tooth and tooth number of the necessary parameters for calculation.
Displays the file, explaining in detail what each parameter and its representation is.
Therefore, the user does not need to enter values continuously every time, and if necessary, just change them in a separate file.
Adding HUD is very useful when virtual content involves any context.
When it is executed, it expands our understanding of the current operation and constantly updates our status quo.
Information override with relevant G-override current tool status
Code, spindle rotation direction, coolant condition and all of the above parameters.
The real-time update feature ensures that critical information such as current tool coordinates, MRR, and tool depth engagement is constantly changing to reflect current machining conditions.
To achieve this, the perspective of the model needs to negate the initial global origin, which will cause HUD to move around if the \"Hiro\" Mark is moved.
Besides, one and a half
Transparent background is used to increase the visibility of words without blurring the operation.
The following features are used: glMatrixMode (GL_PROJECTION); glMatrixMode (GL_MODELVIEW); glEnable (GL_BLEND); glBlendFunc (
Finally, the feature prints all the relevant information into the AR scene.
The resulting effect is shown.
With the precise visualization of the model, the system needs to generate G-
Code that can then be used for actual CNC machining.
A key feature of the simulation system is the ability to generate G-
The placement of code blocks and tools relative to the workpiece coordinate system based on the virtual environment (WCS).
3-despite system support-
Axis-only, complex operations can still be performed, even if
Uniform surface like engraving with NC machining.
In addition, extend to 4-and 5-
Axis CNC machine tool can be done once 3-
Shaft machining is established correctly.
The code is displayed in.
These codes can all be seen on HUD with visual cues, for example when the coolant is turned on, the workpiece turns blue.
Key value in G-
Code programming, that is, X, Y, and Z values are associated with functions specifically designed to use mouse input to save current coordinates when clicking a mouse button.
An example of a text file is displayed, which is generated based on a total of 12 mouse clicks.
The case study was designed as a form of verification process to observe the degree of deviation between the parameters and traditional tools and to reflect the errors present in the system.
This is to prove that the systems developed have the potential to replace them, and the added benefit of it is that it is more immersive, real, and has a better sense of depth.
Feedback of time information, better overall simulation experience.
Since the modularity of the system is emphasized, the case study is carried out in a manner that treats each module as a stand-alone system.
Verification software tools such as Mastercam and Kuka Sim Pro play an important role because they are mainly used to verify the results generated by the AR environment.
Case study based on manufacturing and assembly of computer chassis.
For ease of calculation, the input value is kept in a lower range to reduce the calculated value of the number of stages, as it can vary from 0 to 100 stages on the actual production line.
For this special case study, will . . . . . . = u2009 8 u2009 hours/day, will . . . . . . = 800 units will be . . . . . . = Action 6.
Since each action has its own requirements, it will . . . . . . = 201745 seconds, will . . . . . . = 201718 seconds, will . . . . . . = Gears 22 seconds, will . . . . . . = u2009 32 u2009 seconds will . . . . . . u2009 43 u2009 seconds = u2009 Natural 20 u2009 seconds and will . . . . . . .
The program uses these values to find and equal to 36 seconds and 5 stages, respectively.
The goal of this case study is to obtain the best possible route with minimal logistics distance and minimal space.
Several line shapes were evaluated, including straight lines, S-shaped, U-
Shape and halfcircle-
The shape is shown.
In addition, the two directional forms representing automatic and manual lines are machines-
Center and operator
The center was analyzed separately.
According to the results, the minimum value of the total driving distance is 328 kilometers.
52 CUCM, operator-
Object oriented halfcircle-
In addition, this special arrangement also scores the minimum distance for machine travel
The speed is assumed to be 0.
33 m/s, which is equal to 108 of the travel time. 4u2009seconds.
Then we can find it according to the equation. 3).
By using the virtual machine in the layout planning module to create the robot work unit, the developed module is verified.
Operations include picking and placing a piece of material around various virtual machines.
The user guides the end actuator of the virtual robot arm by manually pointing to the location where it was picked and placed using the teach pendant.
Then save the coordinates and angles of the arm at that point to a separate file.
Enter the saved angle value into the Kuka Sim Pro to compare and verify each point.
Displays multiple views of the unit of work used for case studies.
Kuka Sim Pro is an offline programming software that fully simulates robot arm activity, so it is no different from the actual coordinates entered into the physical robot teaching pendant.
Input the angle of each arm generated from the AR environment into the Kuka Sim Pro to generate the corresponding coordinates of the end actuator.
The results are shown in, where the maximum error is 3 to verify the simulation. 83u2009mm.
The machining operation will be carried out in a manner similar to Mastercam and verified through Mastercam to determine the accuracy of the operation.
Created a CAD model using Pro-
In the simulation, the engineer with the same overall size as the workpiece.
The imported 3D model carries the CAD model size with the same machining slot as an overlay on the top of the original virtual inventory.
That\'s basically how Mastercam works, but Mastercam doesn\'t provide a simulation system.
Then compare the code to Mastercam G-
The code is observed to be inconsistent with anything.
It shows how to perform the simulation process on a physical milling machine to ensure that the shaft movement of the tool is accurate.
Case studies will be separated to test the machining capacity of each axis separately.
The designed stock size is 200mm × 200200 × 100 and the size of the virtual stock in the AR system.
As long as the tool mark remains solid, it can be placed roughly in the spindle area of the physical tool.
Similarly, the inventory mark does not need to be placed on the actual pair with known installation coordinates.
This is because its placement will not affect the generated G-
Code, because the value is calculated relative to the virtual workpiece and the virtual tool.
A case study on a physical milling machine is conducted only to provide the tool with accurate shaft movement while providing the operator with an actual machining or manufacturing environment.
Display cutting machining simulation about x and y-axis. From the G-
Code generated through Mastercam, then extract the main processing values and compare side by side between the two simulation systems.
As shown in the figure, an error exists between the two axes in deviation from the Mastercam result, which is considered ideal and error-free.
The same program is used to find errors that exist when processing z-
Perform shaft and final complex machining for all three axes as shown. The z-
The case study of shaft machining drilled four holes in different depths in increments of 10mm. The 3-
The case study of shaft processing is carried out because, as a rule, the finished product needs to be processed at least all three axes, so this verification is the most accurate representation of the simulated real product.
The cutting is done on the edge of the slope-
Like a design with variable depth.
It is observed that for all case studies, the maximum deviation from Mastercam software is z-
Shaft processing, value 5.
8mm, much higher than x-axis, y-axis, or 3-axis machining.
Kingtool Aluminum Doors and Windows Machinery Co., Ltd. is trying to institute social good changes this relationship because it averts a firm's resources from its core task of increasing profits.
For more information please see our site at Kingtool Aluminium Machinery. Don't be hesitate to contact us!
We utilize our expertise to develop services that add value at each phase of thealuminum cutting machine development cycle. We evaluate and implement new strategies in response to changing customer profiles and market conditions.