Research on Embedded 3D Simulation System for Collaborative Robots | Research Square window.SnipcartSettings = { analytics: { enabled: false } }; (function() { var accessVector = localStorage.getItem('access_vector') || ''; window.dataLayer = window.dataLayer || []; if (accessVector) { window.dataLayer.push({ user: { profile: { profileInfo: { snid: accessVector } } } }); } })(); (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-K279D39R'); Browse Preprints In Review Journals COVID-19 Preprints AJE Video Bytes Research Tools Research Promotion AJE Professional Editing AJE Rubriq About Preprint Platform In Review Editorial Policies Our Team Advisory Board Help Center Sign In Submit a Preprint Cite Share Download PDF Research Article Research on Embedded 3D Simulation System for Collaborative Robots Shan Gao, Hua Geng, YaQiong Ge, WenBin Zhang This is a preprint; it has not been peer reviewed by a journal. https://doi.org/ 10.21203/rs.3.rs-3970403/v1 This work is licensed under a CC BY 4.0 License Status: Posted Version 1 posted You are reading this latest preprint version Abstract In this article designing an embedded simulation system for heavy collaborative robots. From the perspective of control system autonomy, controllability, and economy, the selection of ARM SOC for the embedded computer hardware, LCD driver for the upper computer, Linux operating system, and OpenCasCade for the 3D geometry engine were completed. The localization rate of the industrial robot control system was improved while ensuring performance requirements. Establish a kinematic mathematical model of the robot based on the DH parameter method, and obtain the kinematic equation of the robot's end effector. Simultaneously building an ARM Linux environment that can run simulation systems, using the 3D geometry engine OpenCasCade to load the robot standard STEP model file, using QtCreator to simulate and model the robot, and conducting instance simulations. By analyzing the motion of the robot through simulation results, the correctness of the kinematic algorithm was verified, which meets the expected design goals and provides a reliable basis for the research of collaborative robot trajectory planning and control。 Collaborative robot OpenCasCade Embedded Simulation System Figures Figure 1 Figure 2 Figure 3 Figure 4 Figure 5 Figure 6 Figure 7 Figure 8 Figure 9 Figure 10 Figure 11 Figure 12 Figure 13 Figure 14 Figure 15 Figure 16 Figure 17 Figure 18 Figure 19 Figure 20 Figure 21 1. Introduction In recent years, with the rapid and marked change in the Chinese high-end manufacturing industry, collaborative robots have been increasingly applied in the field of precision manufacturing. The high-end equipment manufacturing industry has specifically proposed the industry application of collaborative robots [ 1 ] . However, currently, most of the upper-level computer graphics rendering for collaborative robots in the domestic market depends on SOC based on the x86 architecture [ 2 ] . These systems use triangle meshes to describe 3D geometric models, but the low precision of the model data can easily lead to image distortion. Therefore, considering the demand for high-precision rendering applications and embedded systems in the industrial field, it is essential to study alternative solutions based on the ARM architecture for robot rendering systems. Making full use of the advantages of the ARM architecture in branch prediction and MUL calculation is crucial to support higher latency rendering pipelines and handle complex scene rendering with hundreds of dynamic light sources [ 3 ] . These systems should also perfectly support post-processing effects such as SMAA [ 4 ] . It’s important to meet the requirements for rendering performance and support precise operations on cubic spline surfaces. In response to the aforementioned needs, a design for an embedded 3D simulation system targeting collaborative robots is proposed. This includes selecting a common SOC chip based on the ARM architecture and its corresponding graphic drivers, as well as choices for the 3D geometry engine and the window image system. The system aims to validate the feasibility of rendering a robotic arm's 3D model under the ARM architecture while ensuring performance requirements are met. The system can employ FreeCAD to create the 3D model of the collaborative robot [ 5 ] , followed by constructing the robot's mathematical model using the (DH) method and performing a kinematic analysis program. The 3D geometric engine OpenCasCade is used to load the STEP model files of the robotic arm and the workpiece. Lastly, the robotic arm model is rendered using the QGLWidget window system component in QtCreator for simulation purposes. This process verifies the feasibility of using OpenGL Pixel Local Storage and 3D rendering algorithms under the ARM architecture [ 6 ] , laying the groundwork for the next step of robotic arm trajectory planning. 2. Embedded Simulation System The system described in this paper is based on an ARM architecture and is designed to meet the diverse requirements of a collaborative robot control system, including real-time performance, high accuracy, and stable performance. The system is consisting of the following main components: ARM SOC system control module, LCD module, Network communication module, Ubuntu RootFS file system module, 3D geometric engine OCCT module, and collaborative robot kinematics algorithm module. The overall design structure of the system is illustrated in Fig. 1 . The ARM architecture pipeline instructions, as shown in Fig. 2 , only perform memory read and write operations during the execution phase. When the processor is in the thumb state, the instruction set is further reduced, and an execution strategy is implemented to trade more registers for memory alignment. This optimized SIMD execution approach, as shown in Fig. 3, balances hardware cost and execution efficiency, making it suitable for meeting the demands of embedded 3D rendering [ 7 ] . Due to the mop cache equipped with ARM, we can see that when the instruction footprint is up to 4KB, the mop cache can provide a throughput of 6 instructions per cycle. This approach ensures the high accuracy and stable performance required by embedded 3D rendering while considering the trade-off between hardware cost and execution efficiency. ARM Module: Receives data transmitted by the Network module, communicates with the Ubuntu RootFS file system through NFS, and loads the embedded Linux operating system. The LCD module displays the Xfce4 desktop system, providing a basic X11 window system for the subsequent 3D image rendering. Network Card Module: Initializes the transmission and reception functions of the network card in the SOC's boot loader (uboot), which is crucial for later mounting the Ubuntu RootFS file system using the NFS method. LCD Module: Real-time rendering of 3D simulation images for collaborative robotic arms, providing operators with visual data to assess the robotic arm's operation status. Ubuntu RootFS: The ARM version of the root file system configures the network file system and software sources, installs the lightweight desktop program xFce4 that supports the X11 windowing protocol, and calls the most important user interfaces of underlying device drivers. It provides complete functionality for customizing and tailoring the operating system. The OpenCasCade 3D geometry engine module is an object-oriented C + + class library designed to rapidly generate complex CAD/CAM applications. It encompasses geometric modeling, visualization, and the parsing of standard model files, such as STEP. Within the ARM architecture, the library employs Boundary Representation (Brep) to describe a model's geometric and topological information and provides parameters for the position and orientation of motion trajectories on cubic spline interpolated surfaces. Collaborative Robot Kinematics Module: Provides an equivalent trigonometric solution to the kinematic equations of robots. The main focus of the designed system includes the construction of the overall embedded system, customization and compilation of the 3D geometric engine OCCT for ARM architecture, and adaptation of the QtCreator widget for loading and rendering the robotic arm model under the xFce4 desktop program environment. By completing these three components and seamlessly integrating them into industrial applications, the embedded system for collaborative robots can achieve fast, stable, and accurate kinematic calculation and image simulation tasks. 2.1 ARM Module The ARM module is designed around the Jetson Orin series, featuring an ARM Cortex-A78 multi-processor core for the CPU and an Ampere architecture GA10B for the GPU, Supporting ARMv8.2 multi-stage pipeline instruction set. Making it highly suitable for developing large-scale and complex graphics applications. When designed, its external main clock frequency can reach up to 1.5GHz. The chip's SOC is fabricated using a 5nm process technology, resulting in a significant improvement in floating-point data processing performance. It also has built-in OpenGL graphics rendering support, this provides us with strong hardware support for exploring the application of geometric engines OCCT on X11. The schematic diagram of the main control module is shown in Fig. 4 . 2.2 Network Card Module The DM9000 chip is a fully integrated, cost-effective, low pin-count single-chip fast Ethernet controller with a universal processor interface. It provides an 8-bit or 16-bit data interface for accessing internal memory to accommodate different types of processors. The physical protocol layer interface of DM9000 fully supports the use of 100 Mbps and below Category 5 unshielded twisted pair cables. Its automatic negotiation feature will automatically configure the network bandwidth to achieve optimal performance. The schematic diagram of the network card communication module is shown in Fig. 5 . 2.3 LCD Module The S70-AT070TN92 adopts the FPC ribbon cable package form and has 41 pins. Its pins can be divided into RGB data interface pins, LCD interface pins, and power clock interface pins. TFT-LCD has become the most popular type of LCD. Logically, a complete image displayed on the screen is called a frame. In the system memory, there is a corresponding storage space called a frame buffer device, which corresponds to the entire display area. By changing the contents of the data frame (FrameBuffer) [ 8 ] , the display content on the screen can be changed. Each pixel on the display screen corresponds to a certain position in the frame buffer device. Since the colors displayed on the computer screen are represented by RGB values, the corresponding RGB code values in the frame buffer must be provided to achieve the effect of displaying a certain color at a certain pixel on the screen. 2.4 Ubuntu RootFS Module The root file system is the first file system mounted during kernel startup. The kernel code image file is saved in the root file system, and the system bootloader program will load some basic initialization scripts and services from it into memory to run after the root file system is mounted. U-Boot uses the uImage compressed kernel file, which has a 64-byte header containing auxiliary information such as checksums and system configurations needed after system boot. In this article, we use the NFS method to mount the root file system, which allows quick switching of different versions of file systems according to user requirements. 2.5 OpenCasCade Module OpenCasCade provides an API for reading and writing STEP model files for mechanical arms. However, it is important to note that the coordinate systems stored within the 3D models may have differences due to axes parameters [ 9 ] . Especially The reference coordinate system of SolidWorks models is significantly different from that of OCCT. Therefore, OpenCasCade provides functionality to calibrate the coordinate system of the robot arm's STEP model file. The model coordinate system is a crucial dependency for later simulations. Additionally, OpenCasCade also supports solving tangent lines and focal points of cubic spline surfaces, as well as displaying and interacting with complex shapes. Table 1 OpenCasCade Dependency No. packages version lib 1 mesa-common 20.0.8 TKernel 2 tcllib 1.19 TKTObjDRAW 3 tklib 0.6 TKG3d 4 tcl/tk-dev 8.6 TKOffset 5 xmu-dev 1.1.2 TKOpenGl 6 xi-dev 1.7.9 TKXDEDraw 7 xcb-xinerama0 1.13 TKService 2.6 Collaborative Robot Kinematics Module RH20 is a robotic arm with a spherical wrist joint. The spherical wrist joint is an important and independent structure on the robotic arm, mainly used to determine the end effector's orientation. As shown in Fig. 8 , the axes of the robotic arm's spherical wrist joint intersect at a point, and the adjacent axes are perpendicular to each other, forming three revolute joints. Therefore, the angles of the first three joints can be determined based on the position of the wrist. The position of the wrist is determined by the first three joints and is independent of the last three joints. The wrist position is equal to the end position of the third axis. 3. Kinematic of Collaborative Robots 3.1 DH Coordinate Systems for Robots When conducting a kinematic analysis of the robotic arm, the (DH) parameter method is commonly used to establish the robot coordinate system [ 10 ] . It uses four parameters, \({\theta }_{i}\) 、 \({d}_{i}\) 、 \({a}_{i}\) 、 \({\alpha }_{i}\) , to describe the relationship between adjacent links and the robot arm. These parameters can be used to derive the homogeneous transformation matrix from the end effector coordinate system to the base coordinate system. Based on the DH parameter table in Table 2 , the coordinate parameters for each link can be obtained. However, comparing to Table 3, it is important to note that the offset caused by joint motor size, so \({ a}_{3}\) should be considered in kinematic calculations. Joint offsets can introduce deviations in the computed results, so it is necessary to account for this factor to ensure accurate kinematic analysis. Table 2 EverRobot DH parameters Link \({a}_{i-1}\) \({\alpha }_{i-1}\) (°) \({d}_{i}\) \({\theta }_{i}\) (°) 1 0 0 510 \({\theta }_{1}\) 2 150 90 0 \({\theta }_{2}\) 3 760 0 0 \({\theta }_{3}\) 4 150 90 805 \({\theta }_{4}\) 5 0 -90 0 \({\theta }_{5}\) 6 0 -90 140 \({\theta }_{6}\) Table 3 AUBO DH parameters Link \({a}_{i-1}\) \({\alpha }_{i-1}\) (°) \({d}_{i}\) \({\theta }_{i}\) (°) 1 0 0 122 \({\theta }_{1}\) 2 0 -90 121.5 \({\theta }_{2}\) 3 408 180 0 \({\theta }_{3}\) 4 376 180 0 \({\theta }_{4}\) 5 0 -90 102.5 \({\theta }_{5}\) 6 0 -90 94 \({\theta }_{6}\) 3.2 Robot's Motion Equations Nonlinear equations typically contain nonlinear functions, making analytical solutions very difficult or even impossible. Therefore, in general, we need to use numerical methods to approximately solve the system of nonlinear kinematics equations. \({A}_{6}^{0}\) \(\text{s}\text{h}\text{o}\text{w} \text{t}\text{h}\text{e} \text{r}\text{e}\text{l}\text{a}\text{t}\text{i}\text{o}\text{n}\text{s}\text{h}\text{i}\text{p} \text{b}\text{e}\text{t}\text{w}\text{e}\text{e}\text{n} \text{l}\text{i}\text{n}\text{k}\text{s}:\) \({A}_{6}^{0}\) = \({A}_{1}^{0}{A}_{2}^{1}{A}_{3}^{2}{A}_{4}^{3}{A}_{5}^{4}{A}_{6}^{5}\) = \(\left[\begin{array}{cccc}{f}_{x}& {s}_{x}& {t}_{x}& {p}_{x}\\ {f}_{y}& {s}_{y}& {t}_{y}& {p}_{y}\\ {f}_{z}& {s}_{z}& {t}_{z}& {p}_{z}\\ 0& 0& 0& 1\end{array}\right]\) (3.1) The intersection point of the axes of the last three joints is the wrist joint [ 11 ] . Therefore, the end-effector of the robotic arm can be considered as an extension of length \({d}_{6}\) from the wrist joint of the arm. By setting \({d}_{6}\) =0 in Eq. 3.1 to 3.2 , we can obtain the position of the wrist center of the robotic arm. $$\left[\begin{array}{c}{w}_{x}\\ {w}_{y}\\ {w}_{z}\end{array}\right]=\left[\begin{array}{c}{a}_{1}c\left({\theta }_{1}\right)+{a}_{2}c\left({\theta }_{1}\right)c\left({\theta }_{2}\right)+{a}_{3}c\left({\theta }_{1}\right)c\left({\theta }_{23}\right)+ {d}_{4}c\left({\theta }_{1}\right)s\left({\theta }_{23}\right)\\ {a}_{1}s\left({\theta }_{1}\right)+{a}_{2}s\left({\theta }_{1}\right)c\left({\theta }_{2}\right)+{a}_{3}s\left({\theta }_{1}\right)c\left({\theta }_{23}\right)+ {d}_{4}s\left({\theta }_{1}\right)s\left({\theta }_{23}\right)\\ {a}_{2}s\left({\theta }_{2}\right)+{a}_{3}s\left({\theta }_{23}\right)-{d}_{4}c\left({\theta }_{23}\right)\end{array}\right]$$ 3.2 By comparing Eq. 3.1 and Eq. 3.2 , we can infer the following relationship between the wrist center position W and the end-effector position P of the robotic arm. $$\left[\begin{array}{c}{w}_{x}\\ {w}_{y}\\ {w}_{z}\end{array}\right]=\left[\begin{array}{c}{p}_{x}\\ {p}_{y}\\ {p}_{z}\end{array}\right]-{d}_{6}\left[\begin{array}{c}{t}_{x}\\ {t}_{y}\\ {t}_{z}\end{array}\right]$$ 3.3 Observing the equation, by using a pose separation approach, we can calculate the angles based on the position of the wrist center. Then, we can calculate the remaining joint angles using the system of equations. This simplifies the calculation process and improves the efficiency of the algorithm [ 12 ] . 4. Simulation on ARM 4.1 Analysis of Image Space Rendering By utilizing the embedded image processor, QGLWidget, and the 3D geometry engine OCCT under the ARM architecture, it is possible to render a three-dimensional STEP file model of a collaborative robot. By simultaneously setting the axis-angle parameters of the robotic arm and adjusting the input, the angles of each joint can be manipulated, resulting in joint movements. The rapid development of embedded graphics processors and their corresponding programming models, such as OpenGL ES, has enabled real-time image processing on portable devices. Due to its low hardware overhead, OpenGL ES is an excellent choice for achieving high-performance image processing on ARM-embedded GPUs [ 13 ] . The research on high-performance implementation and optimization of rasterization-based image processing algorithms based on OpenGL ES holds significant practical significance. The process of image rasterization is shown below: Please note that the Fragment Operation shown in the black background box in the image, when using a combination of stencil testing and depth testing in OpenGL, as shown in Fig. 11 , can simplify the rendering process of complex tasks that would require multiple repetitions. For example, rendering shadows, drawing shapes, or handling highlights in the intersection of composite geometric primitives can be achieved simply through texture mapping, thus reducing the burden on the graphics hardware [ 14 – 17 ] . Understanding the role of the Stencil Buffer and a key step in image rendering, this article mainly compiles the Qt source code under the ARM and adds third-party dependencies such as OpenGL Stencil Buffer [ 18 ] . At the same time, it maps the OCCT window widget to QGLWidget, as shown in Fig. 12. Since the underlying window properties are interacted with through the function winId(), the combination of the 3D geometry engine and the Linux X11 window attribute system is achieved through a unique identifier [ 19 ] , laying a solid foundation for image rendering and cross-platform robot simulation applications. By using the built-in Laplace equation in the geometry engine, separation of the radial component (r) and the angular components (θ and φ) can be achieved. This separation forms a gradient vector in a specific direction that can be used to add a continuous variation of ambient light to a specific viewpoint. This simulation helps to create the effect observed by an observer in a real environment [ 20 ] . Where R(r) represents the distance, and Y (θ, φ) represents the spherical harmonics function. 4.2 Motion Simulation Validation By using the STEPControl_Reader class provided by the 3D engine OCCT gets the 3D model parameters from the robotic arm file. The TDF_Label class is used to store the additional information obtained from the STEP file, such as coordinates and color information. The XCAFDoc_ShapeTool class can be used to manage the Shape part of the model and construct the assembly structure tree. Finally, the 3D model of the robot arm can be displayed using the OCCT window component Aspect_Window and the view component QGLWidget from the Qt widget component. This experiment can simulate welding applications in industrial production by setting the joint axis angles based on the DH parameters using the gp_Trsf transformation. The generated model by the geometry engine is shown in Fig. 13 . In the initial state of the robot, as shown in Fig. 14, the joint angles are θ = (0, π/2, 0, 0, π, 0), and the position coordinates of the end effector are (1095, 0, 1420) in units of mm. This result is consistent with the previous results obtained through DH coordinate transformation, validating the correctness of the DH coordinates. In OCCT, using the BRepAdaptor_Surface on a three-dimensional surface, you can set two different tangent vectors at a certain point, named vector \(\stackrel{⃑}{u}\) and vector \(\stackrel{⃑}{v}\) . By taking the cross product of \(\stackrel{⃑}{u}\) × \(\stackrel{⃑}{v}\) , you can obtain a normal vector parameter that describes the end effector's pose of the robot arm. The normal vector information at the nodes can be used to obtain the Euler angles (R, P, Y) that describe the end effector's pose after two rotations in the world coordinate system. Simulation based on these key parameters can generate the discrete trajectory curve and motion data of the robot arm. In the experiment, multiple sets of collaborative robot joint angle parameters can be obtained by inverse solving based on the normal vectors of the cubic spline surface. The motion of the end effector during the simulation process shows smooth displacement variations in all directions, which can be observed and collected as kinematic information on the high-speed CAN bus of the collaborative robotic arm. Figure 15 A indicates that the embedded simulation system for collaborative robots when utilizing the Thumb state instruction set and Linux CMA functionality, can smoothly handle computing tasks on an ARM SOC for discrete path calculation and 3D model rendering demand. This demonstrates that the simulation system has a relatively stable render pattern, meeting the design goals as expected. Figure 15B shows that the 3D model simulation of the collaborative robot runs on a physical machine with an ARM architecture Cortex-A78 and 4GB of memory. From the image, it can be seen that the program's execution efficiency has been achieved at the cost of sacrificing memory and registers, which aligns with the assumptions made in the previous experiments. 5. Conclusion This paper presents a design of an embedded 3D simulation system based on the ARM architecture. It includes the adaptation of the lower-level SOC, a lightweight desktop application window manager Xfce4, and a trimmed version of the 3D geometry engine OpenCasCade. Compared to traditional robotic arm image rendering systems, the proposed system allows for the addition of required 3D geometry engine modules based on application needs. By ensuring performance, it also verifies that the graphics module in the SOC under the ARM architecture, along with its supporting OpenGL driver, can support the rendering functionality of the 3D geometry engine. The calibration of the STEP model file's base coordinate system is performed in OpenCasCade, and the workspace of the robotic arm is drawn. The analysis results show that the control system of this robotic arm simplifies the communication link between the main control system and the joint modules, making it suitable for industrial robot applications. Simulation experiments are conducted to obtain various motion parameter curves and data, which validate that the designed robot can achieve the expected design goals. This work also lays the foundation for trajectory planning and control research on robotic arms. In conclusion, it can be inferred that the objective of cost savings has been achieved while ensuring performance, with a cost reduction of hardware of approximately 8–16% compared to the previous robot soc. Declarations Acknowledge These works are supported by the Fundamental Research Program of Shanxi Province (No. 202103021224266). The authors would like to thank the Robot Team of CNITECH for cooperating and helping. Conflict of interest the authors declare no potential and competing conflict of interest concerning the research. Author Contribution Shan Gao & Hua Geng conceived of the presented idea. Hua Geng & YaQiong Ge developed the theory and performed the computations. Hua Geng & WebBin Zhang verified the analytical methods, Shan Gao encouraged Hua Geng & WebBin Zhang to investigate a specific aspect and supervised the findings of this work. All authors discussed the results and contributed to the final manuscript. References YaSong Pu, HongJun Wang, Jie Jiang, et al. Application of Industrial Robots in Polishing Processes [J]. Science and Technology Innovation Herald.2018,15(29): 42-43.DOI: 10.16660/j.cnki.1674-098X.2018.29.042. Jun Wang, ChaoXiang Shao, Liang Zhang, et al. Research on Kinematic Simulation and Control System of Welding Robots [J]. Electric Welding Machine. ,2023,53(09):29-36. Seo H, Sanal P, Jalali A, et al. Optimized Implementation of SIKE Round 2 on 64-bit ARM Cortex-A Processors[J]. Circuits and Systems I: Regular Papers, IEEE Transactions on, 2020, PP (99): 1-13.DOI: 10.1109/TCSI.2020.2979410. Kahl B. Real-Time Global Illumination Using OpenGL and Voxel Cone Tracing[J]. 2021.DOI: 10.48550/arXiv.2104.00618. Banovi M, Vasilopoulos I, Walther A, et al. Algorithmic differentiation of an industrial airfoil design tool coupled with the adjoint CFD method[J]. Optimization and Engineering,2020,21(3): 12211242.DOI: 10.1007/s11081-019-09474-x. Goston Róth.Remark on Algorithm 992: An OpenGL- and C++-based Function Library for Curve and Surface Modeling in a Large Class of Extended Chebyshev Spaces[J]. ACM Transactions on Mathematical Software (TOMS), 2021. X. Xu, M. Bhargava, S. Moore, S. Sinha and B. Cline, "Enhanced 3D Implementation of an Arm® Cortex®-A Microprocessor," 2019 IEEE/ACM International Symposium on Low Power Electronics and Design (ISLPED), Lausanne, Switzerland, 2019, pp. 1-6, Doi: 10.1109/ISLPED.2019.8824984. M. Han et al., "A Virtual Frame Buffer Abstraction for Parallel Rendering of Large Tiled Display Walls," 2020 IEEE Visualization Conference (VIS), Salt Lake City, UT, USA, 2020, pp. 11-15, Doi: 10.1109/VIS47514.2020.00009. Kang Yao. Design of Firefighting Robot Based on Embedded Systems [J]. Science and Technology Innovation. 2023(19): 55-57.DOI: 10.15913/j.cnki.kjycx.2023.19.017. HongHong Zhao, HongShen Wang, XiangYu Zhang. Parametric Design System for Axis Three-dimensional Based on OpenCasCade [J]. Manufacturing and Automation of Machinery. 2019,48(04): 97-99.DOI: 10.19344/j.cnki.issn1671-5276.2019.04.026. Wei Ding, BingWei Zhang, QingYuan Meng, et al. Design and Kinematic Analysis of Six Degree-of-Freedom Economical Industrial Robot [J]. Machine Tools and Hydraulics. 2019,47(11):19-23. X. Wang, Y. Hua, J. Gao, Z. Lin and R. Yu, "Digital Twin Implementation of Autonomous Planning Arc Welding Robot System," in Complex System Modeling and Simulation, vol.3, no. 3, pp. 236-251, September 2023, DOI: 10.23919/CSMS.2023.0013. QingHao Zhu, Qiang Zang, Hua Yue, et al. Kinematic Analysis and Simulation of a 6-DOF Industrial Robot [J]. China Science and Technology Papers. 2020,15(8):953-958. DOI: 10.3969/j.issn.2095-2783.2020.08.018. WenBin Chang, MingRen Mou, HaiPeng Jia, et al. Implementation and Optimization Research of Image Filtering Algorithm based on OpenGL ES [J]. Computer Engineering. 2023,49(11): 257-266.DOI: 10.19678/j.issn.1000-3428.0067337. Shuai Zhao. Research on Path Planning Algorithm for Line Scanning Measurement Robot and Development of System based on OpenCasCade [D]. Hefei University of Technology, 2020. Bedaka A K, Lin C Y. Autonomous path generation platform for robot simulation [C] International Conference on Advanced Robotics & Intelligent Systems.2017: 63-68.DOI: 10.1109/ARIS.2017.8297186 Matsumura K, Zohouri H R, Wahib M, et al.AN5D: Automated Stencil Framework for High-Degree Temporal Blocking on GPUs[J].ACM, 2020.DOI:10.1145/3368826.3377904. Frisken SF. SurfaceNets for Multi-Label Segmentations with Preservation of Sharp Boundaries. J Comput Graph Tech. 2022 Jan-Mar;11(1):34-54. Epub 2022 Feb 28. PMID: 36325473; PMCID: PMC9623606. Tollefson M, Tollefson M. Graphics Devices and Laying Out Plots[J]. Visualizing Data in R 4: Graphics Using the base, graphics, stats, and ggplot2 Packages, 2021: 251-277. Zhan F, Zhang C, Yu Y, et al. EMLight: Lighting Estimation via Spherical Distribution Approximation[C]//National Conference on Artificial Intelligence.2021. Additional Declarations No competing interests reported. Cite Share Download PDF Status: Posted Version 1 posted You are reading this latest preprint version Research Square lets you share your work early, gain feedback from the community, and start making changes to your manuscript prior to peer review in a journal. As a division of Research Square Company, we’re committed to making research communication faster, fairer, and more useful. We do this by developing innovative software and high quality services for the global research community. Our growing team is made up of researchers and industry professionals working together to solve the most critical problems facing scientific publishing. Also discoverable on Platform About Our Team In Review Editorial Policies Advisory Board Help Center Resources Author Services Accessibility API Access RSS feed Manage Cookie Preferences © Research Square 2026 | ISSN 2693-5015 (online) Privacy Policy Terms of Service Do Not Sell My Personal Information {"props":{"pageProps":{"initialData":{"identity":"rs-3970403","acceptedTermsAndConditions":true,"allowDirectSubmit":true,"archivedVersions":[],"articleType":"Research Article","associatedPublications":[],"authors":[{"id":274093899,"identity":"373be31f-bcdc-47c1-85d9-68b642488e5f","order_by":0,"name":"Shan Gao","email":"","orcid":"","institution":"Taiyuan University of Science and Technology","correspondingAuthor":false,"prefix":"","firstName":"Shan","middleName":"","lastName":"Gao","suffix":""},{"id":274093900,"identity":"73afe14f-aa7b-43a0-b28b-ad1c70fe723c","order_by":1,"name":"Hua Geng","email":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAAyAQMAAABI0h/eAAAABlBMVEX///8AAABVwtN+AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA3ElEQVRIie3PuwrCMBSA4VMK6RLpGqH6DJkUQdDHcEyXTAqOGRwEpR2s7+Lo2BKIS9y7WZfubh0tXlAQ2owO+QkkhHyQA2Cz/WH+Gpy0Aonrs1MwsWonJAXIkidxaaFVO6FTAPlYAKh73boGxNukEgQPht6+FOEagR/vWDPBiknQHI+S0yAPjwEQfT40EzKnshdxTHOO8lCj+mZhQDrRGNNLiZZh5BqQ2ZvkCIERIVqxLNGknoW7hGmFW2fx401WVIJMhp5ybpVY9f1430w+P3zt2Oz5N7HZbDbbT3fzaklrchqWegAAAABJRU5ErkJggg==","orcid":"","institution":"Taiyuan University of Science and Technology","correspondingAuthor":true,"prefix":"","firstName":"Hua","middleName":"","lastName":"Geng","suffix":""},{"id":274093901,"identity":"b9747119-1993-4e13-8321-2bf80619e56a","order_by":2,"name":"YaQiong Ge","email":"","orcid":"","institution":"Taiyuan University of Science and Technology","correspondingAuthor":false,"prefix":"","firstName":"YaQiong","middleName":"","lastName":"Ge","suffix":""},{"id":274093902,"identity":"19599845-0e83-4894-91e7-4980b2499481","order_by":3,"name":"WenBin Zhang","email":"","orcid":"","institution":"Taiyuan University of Science and Technology","correspondingAuthor":false,"prefix":"","firstName":"WenBin","middleName":"","lastName":"Zhang","suffix":""}],"badges":[],"createdAt":"2024-02-19 16:15:41","currentVersionCode":1,"declarations":"","doi":"10.21203/rs.3.rs-3970403/v1","doiUrl":"https://doi.org/10.21203/rs.3.rs-3970403/v1","draftVersion":[],"editorialEvents":[],"editorialNote":"","failedWorkflow":false,"files":[{"id":51545938,"identity":"668878fe-7657-42de-b26a-db47bf2e5271","added_by":"auto","created_at":"2024-02-23 13:06:39","extension":"png","order_by":1,"title":"Figure 1","display":"","copyAsset":false,"role":"figure","size":61741,"visible":true,"origin":"","legend":"\u003cp\u003eOverall Design Simulation System\u003c/p\u003e","description":"","filename":"image1.png","url":"https://assets-eu.researchsquare.com/files/rs-3970403/v1/b526328cad294b214dfeb8b1.png"},{"id":51545939,"identity":"500a0687-e581-423b-8977-0fe8f4f6c96f","added_by":"auto","created_at":"2024-02-23 13:06:40","extension":"png","order_by":2,"title":"Figure 2","display":"","copyAsset":false,"role":"figure","size":30231,"visible":true,"origin":"","legend":"\u003cp\u003ePipeline Instruction Set\u003c/p\u003e","description":"","filename":"image2.png","url":"https://assets-eu.researchsquare.com/files/rs-3970403/v1/d1b12877b55254a57dddbb1d.png"},{"id":51545943,"identity":"48f88605-00bc-48bd-90e1-935e881d0ed6","added_by":"auto","created_at":"2024-02-23 13:06:40","extension":"png","order_by":3,"title":"Figure 3","display":"","copyAsset":false,"role":"figure","size":25860,"visible":true,"origin":"","legend":"\u003cp\u003eSerial Instruction Set\u003c/p\u003e","description":"","filename":"image3.png","url":"https://assets-eu.researchsquare.com/files/rs-3970403/v1/1a7dfb2b2c740b39d5bdfcaa.png"},{"id":51545951,"identity":"f6d88de5-aca4-4b4c-8b04-a802c52386db","added_by":"auto","created_at":"2024-02-23 13:06:40","extension":"png","order_by":4,"title":"Figure 4","display":"","copyAsset":false,"role":"figure","size":88452,"visible":true,"origin":"","legend":"\u003cp\u003eARM Module\u003c/p\u003e","description":"","filename":"image4.png","url":"https://assets-eu.researchsquare.com/files/rs-3970403/v1/f0fe8272be3a073d616367e5.png"},{"id":51546079,"identity":"4026270d-6ff2-4ff6-9e95-a8b481500217","added_by":"auto","created_at":"2024-02-23 13:14:40","extension":"png","order_by":5,"title":"Figure 5","display":"","copyAsset":false,"role":"figure","size":91701,"visible":true,"origin":"","legend":"\u003cp\u003eNetwork Module\u003c/p\u003e","description":"","filename":"image5.png","url":"https://assets-eu.researchsquare.com/files/rs-3970403/v1/841d2283d30dba8475fd7871.png"},{"id":51546080,"identity":"9c48da70-13cd-419e-982a-949400108c1b","added_by":"auto","created_at":"2024-02-23 13:14:40","extension":"png","order_by":6,"title":"Figure 6","display":"","copyAsset":false,"role":"figure","size":40890,"visible":true,"origin":"","legend":"\u003cp\u003eLCD Module\u003c/p\u003e","description":"","filename":"image6.png","url":"https://assets-eu.researchsquare.com/files/rs-3970403/v1/8733c0a343693d16859daef6.png"},{"id":51545940,"identity":"2d77a350-689e-4283-a22f-895b56948e5d","added_by":"auto","created_at":"2024-02-23 13:06:40","extension":"png","order_by":7,"title":"Figure 7","display":"","copyAsset":false,"role":"figure","size":68330,"visible":true,"origin":"","legend":"\u003cp\u003eRootfs \u0026amp; NFS Module\u003c/p\u003e","description":"","filename":"image7.png","url":"https://assets-eu.researchsquare.com/files/rs-3970403/v1/340e6c5cb564ced35c39e618.png"},{"id":51545947,"identity":"9b37ec2b-dbfc-49bd-a434-cfaa9125a4b1","added_by":"auto","created_at":"2024-02-23 13:06:40","extension":"png","order_by":8,"title":"Figure 8","display":"","copyAsset":false,"role":"figure","size":94053,"visible":true,"origin":"","legend":"\u003cp\u003eEverRobot Structure\u003c/p\u003e","description":"","filename":"image8.png","url":"https://assets-eu.researchsquare.com/files/rs-3970403/v1/8c66ed1c75fea97b6aff4dc4.png"},{"id":51545941,"identity":"b566c880-29dc-46b0-8d03-0be566e72604","added_by":"auto","created_at":"2024-02-23 13:06:40","extension":"png","order_by":9,"title":"Figure 9","display":"","copyAsset":false,"role":"figure","size":67848,"visible":true,"origin":"","legend":"\u003cp\u003eEverRobot DH Coordinate\u003c/p\u003e","description":"","filename":"image9.png","url":"https://assets-eu.researchsquare.com/files/rs-3970403/v1/283b7f2974f1a3eff575e99b.png"},{"id":51546081,"identity":"5257a83e-62f6-4589-9ade-d2c5589ae348","added_by":"auto","created_at":"2024-02-23 13:14:40","extension":"png","order_by":10,"title":"Figure 10","display":"","copyAsset":false,"role":"figure","size":50307,"visible":true,"origin":"","legend":"\u003cp\u003eAUBO I5 Structure\u003c/p\u003e","description":"","filename":"image10.png","url":"https://assets-eu.researchsquare.com/files/rs-3970403/v1/bedf09616584f08fa4f0470d.png"},{"id":51545956,"identity":"b8bfc596-e0d8-458f-bfc8-30e2b2bb0e85","added_by":"auto","created_at":"2024-02-23 13:06:40","extension":"png","order_by":11,"title":"Figure 11","display":"","copyAsset":false,"role":"figure","size":39147,"visible":true,"origin":"","legend":"\u003cp\u003eAUBO I5 DH Coordinate\u003c/p\u003e","description":"","filename":"image11.png","url":"https://assets-eu.researchsquare.com/files/rs-3970403/v1/cc8eecd2f0f0e2febfdc539c.png"},{"id":51545942,"identity":"cc6055d6-8770-46a7-a0a0-ee7bb5bd9cc8","added_by":"auto","created_at":"2024-02-23 13:06:40","extension":"png","order_by":12,"title":"Figure 12","display":"","copyAsset":false,"role":"figure","size":42636,"visible":true,"origin":"","legend":"\u003cp\u003eFigure 10 Rasterization Flow Chart\u003c/p\u003e","description":"","filename":"image12.png","url":"https://assets-eu.researchsquare.com/files/rs-3970403/v1/4d99a09d55415ebb5f305cbd.png"},{"id":51545944,"identity":"f60f87cd-8651-4229-bb1f-8b49241c92f2","added_by":"auto","created_at":"2024-02-23 13:06:40","extension":"png","order_by":13,"title":"Figure 13","display":"","copyAsset":false,"role":"figure","size":54954,"visible":true,"origin":"","legend":"\u003cp\u003eFigure 11 Stencil Test\u003c/p\u003e","description":"","filename":"image13.png","url":"https://assets-eu.researchsquare.com/files/rs-3970403/v1/4145dc3c26d7f2a3b9af48fe.png"},{"id":51545950,"identity":"14a3c9da-0bac-4dde-950a-f1db6421a60e","added_by":"auto","created_at":"2024-02-23 13:06:40","extension":"png","order_by":14,"title":"Figure 14","display":"","copyAsset":false,"role":"figure","size":30370,"visible":true,"origin":"","legend":"\u003cp\u003eFigure 12 Image Mapping\u003c/p\u003e","description":"","filename":"image14.png","url":"https://assets-eu.researchsquare.com/files/rs-3970403/v1/912ded2dc21e21899626b04a.png"},{"id":51545958,"identity":"3cecbee8-ad72-4446-be42-c53512427446","added_by":"auto","created_at":"2024-02-23 13:06:40","extension":"png","order_by":15,"title":"Figure 15","display":"","copyAsset":false,"role":"figure","size":35617,"visible":true,"origin":"","legend":"\u003cp\u003eFigure 13 Isometric Projection\u003c/p\u003e","description":"","filename":"image15.png","url":"https://assets-eu.researchsquare.com/files/rs-3970403/v1/86d710bb6f44b6fa2c3bc1ca.png"},{"id":51545948,"identity":"4a485e7e-c02c-4804-9d60-e2bd2473923f","added_by":"auto","created_at":"2024-02-23 13:06:40","extension":"png","order_by":16,"title":"Figure 16","display":"","copyAsset":false,"role":"figure","size":37407,"visible":true,"origin":"","legend":"\u003cp\u003eFigure 14 Front Projection\u003c/p\u003e","description":"","filename":"image16.png","url":"https://assets-eu.researchsquare.com/files/rs-3970403/v1/ade3bc281109dc01132da581.png"},{"id":51545954,"identity":"a47c43a0-13e1-4461-aa97-27017f731bdb","added_by":"auto","created_at":"2024-02-23 13:06:40","extension":"png","order_by":17,"title":"Figure 17","display":"","copyAsset":false,"role":"figure","size":45945,"visible":true,"origin":"","legend":"\u003cp\u003eFigure 15A CPU Usage Statistics\u0026nbsp;\u003c/p\u003e\n\u003cp\u003eFigure 15B Memory Usage Statistics\u003c/p\u003e","description":"","filename":"15.png","url":"https://assets-eu.researchsquare.com/files/rs-3970403/v1/11eba4a6e9e090d077594bdc.png"},{"id":51545953,"identity":"5acb5a07-23a4-4619-b593-a8d663efb0f5","added_by":"auto","created_at":"2024-02-23 13:06:40","extension":"png","order_by":18,"title":"Figure 18","display":"","copyAsset":false,"role":"figure","size":38708,"visible":true,"origin":"","legend":"\u003cp\u003eFigure 16 Normal Vector\u003c/p\u003e","description":"","filename":"image19.png","url":"https://assets-eu.researchsquare.com/files/rs-3970403/v1/96de329ce2ee2d6bf64e0005.png"},{"id":51545959,"identity":"8f4d0a4e-86b5-4c9e-9e9a-508689dc3540","added_by":"auto","created_at":"2024-02-23 13:06:40","extension":"png","order_by":19,"title":"Figure 19","display":"","copyAsset":false,"role":"figure","size":50550,"visible":true,"origin":"","legend":"\u003cp\u003eFigure 17 Robot Simulation\u003c/p\u003e","description":"","filename":"image20.png","url":"https://assets-eu.researchsquare.com/files/rs-3970403/v1/e1fce0a122923d955daffb96.png"},{"id":51545957,"identity":"5b387d91-170b-4502-bb86-e9766342ac97","added_by":"auto","created_at":"2024-02-23 13:06:40","extension":"png","order_by":20,"title":"Figure 20","display":"","copyAsset":false,"role":"figure","size":455699,"visible":true,"origin":"","legend":"\u003cp\u003eFigure 18 Real Robot\u003c/p\u003e","description":"","filename":"image21.png","url":"https://assets-eu.researchsquare.com/files/rs-3970403/v1/5d3ef70215a0f2667538aec8.png"},{"id":51545955,"identity":"0e14aee4-e6cd-4ed8-85da-52e5d1e99b8c","added_by":"auto","created_at":"2024-02-23 13:06:40","extension":"png","order_by":21,"title":"Figure 21","display":"","copyAsset":false,"role":"figure","size":305283,"visible":true,"origin":"","legend":"\u003cp\u003eFigure 19 Welding Result\u003c/p\u003e","description":"","filename":"image22.png","url":"https://assets-eu.researchsquare.com/files/rs-3970403/v1/e702348cd3360b7fac46c587.png"},{"id":55264941,"identity":"e3e27737-9046-4aa9-af5d-cec175040c33","added_by":"auto","created_at":"2024-04-25 01:51:35","extension":"pdf","order_by":0,"title":"","display":"","copyAsset":false,"role":"manuscript-pdf","size":3068270,"visible":true,"origin":"","legend":"","description":"","filename":"manuscript.pdf","url":"https://assets-eu.researchsquare.com/files/rs-3970403/v1/6eea5d3f-7f1a-4bab-80ed-0bb5008a82eb.pdf"}],"financialInterests":"No competing interests reported.","formattedTitle":"Research on Embedded 3D Simulation System for Collaborative Robots","fulltext":[{"header":"1. Introduction","content":"\u003cp\u003eIn recent years, with the rapid and marked change in the Chinese high-end manufacturing industry, collaborative robots have been increasingly applied in the field of precision manufacturing. The high-end equipment manufacturing industry has specifically proposed the industry application of collaborative robots \u003csup\u003e[\u003cspan citationid=\"CR1\" class=\"CitationRef\"\u003e1\u003c/span\u003e]\u003c/sup\u003e. However, currently, most of the upper-level computer graphics rendering for collaborative robots in the domestic market depends on SOC based on the x86 architecture \u003csup\u003e[\u003cspan citationid=\"CR2\" class=\"CitationRef\"\u003e2\u003c/span\u003e]\u003c/sup\u003e. These systems use triangle meshes to describe 3D geometric models, but the low precision of the model data can easily lead to image distortion. Therefore, considering the demand for high-precision rendering applications and embedded systems in the industrial field, it is essential to study alternative solutions based on the ARM architecture for robot rendering systems. Making full use of the advantages of the ARM architecture in branch prediction and MUL calculation is crucial to support higher latency rendering pipelines and handle complex scene rendering with hundreds of dynamic light sources \u003csup\u003e[\u003cspan citationid=\"CR3\" class=\"CitationRef\"\u003e3\u003c/span\u003e]\u003c/sup\u003e. These systems should also perfectly support post-processing effects such as SMAA \u003csup\u003e[\u003cspan citationid=\"CR4\" class=\"CitationRef\"\u003e4\u003c/span\u003e]\u003c/sup\u003e. It\u0026rsquo;s important to meet the requirements for rendering performance and support precise operations on cubic spline surfaces.\u003c/p\u003e \u003cp\u003eIn response to the aforementioned needs, a design for an embedded 3D simulation system targeting collaborative robots is proposed. This includes selecting a common SOC chip based on the ARM architecture and its corresponding graphic drivers, as well as choices for the 3D geometry engine and the window image system. The system aims to validate the feasibility of rendering a robotic arm's 3D model under the ARM architecture while ensuring performance requirements are met. The system can employ FreeCAD to create the 3D model of the collaborative robot \u003csup\u003e[\u003cspan citationid=\"CR5\" class=\"CitationRef\"\u003e5\u003c/span\u003e]\u003c/sup\u003e, followed by constructing the robot's mathematical model using the (DH) method and performing a kinematic analysis program. The 3D geometric engine OpenCasCade is used to load the STEP model files of the robotic arm and the workpiece. Lastly, the robotic arm model is rendered using the QGLWidget window system component in QtCreator for simulation purposes. This process verifies the feasibility of using OpenGL Pixel Local Storage and 3D rendering algorithms under the ARM architecture \u003csup\u003e[\u003cspan citationid=\"CR6\" class=\"CitationRef\"\u003e6\u003c/span\u003e]\u003c/sup\u003e, laying the groundwork for the next step of robotic arm trajectory planning.\u003c/p\u003e"},{"header":"2. Embedded Simulation System","content":"\u003cp\u003eThe system described in this paper is based on an ARM architecture and is designed to meet the diverse requirements of a collaborative robot control system, including real-time performance, high accuracy, and stable performance. The system is consisting of the following main components: ARM SOC system control module, LCD module, Network communication module, Ubuntu RootFS file system module, 3D geometric engine OCCT module, and collaborative robot kinematics algorithm module. The overall design structure of the system is illustrated in Fig.\u0026nbsp;\u003cspan class=\"InternalRef\"\u003e1\u003c/span\u003e.\u003c/p\u003e\n\u003cp\u003eThe ARM architecture pipeline instructions, as shown in Fig.\u0026nbsp;\u003cspan class=\"InternalRef\"\u003e2\u003c/span\u003e, only perform memory read and write operations during the execution phase. When the processor is in the thumb state, the instruction set is further reduced, and an execution strategy is implemented to trade more registers for memory alignment. This optimized SIMD execution approach, as shown in Fig.\u0026nbsp;3, balances hardware cost and execution efficiency, making it suitable for meeting the demands of embedded 3D rendering \u003csup\u003e[\u003cspan class=\"CitationRef\"\u003e7\u003c/span\u003e]\u003c/sup\u003e. Due to the mop cache equipped with ARM, we can see that when the instruction footprint is up to 4KB, the mop cache can provide a throughput of 6 instructions per cycle. This approach ensures the high accuracy and stable performance required by embedded 3D rendering while considering the trade-off between hardware cost and execution efficiency.\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003eARM Module: Receives data transmitted by the Network module, communicates with the Ubuntu RootFS file system through NFS, and loads the embedded Linux operating system. The LCD module displays the Xfce4 desktop system, providing a basic X11 window system for the subsequent 3D image rendering.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNetwork Card Module: Initializes the transmission and reception functions of the network card in the SOC's boot loader (uboot), which is crucial for later mounting the Ubuntu RootFS file system using the NFS method.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eLCD Module: Real-time rendering of 3D simulation images for collaborative robotic arms, providing operators with visual data to assess the robotic arm's operation status.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUbuntu RootFS: The ARM version of the root file system configures the network file system and software sources, installs the lightweight desktop program xFce4 that supports the X11 windowing protocol, and calls the most important user interfaces of underlying device drivers. It provides complete functionality for customizing and tailoring the operating system.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe OpenCasCade 3D geometry engine module is an object-oriented C\u0026thinsp;+\u0026thinsp;+\u0026thinsp;class library designed to rapidly generate complex CAD/CAM applications. It encompasses geometric modeling, visualization, and the parsing of standard model files, such as STEP. Within the ARM architecture, the library employs Boundary Representation (Brep) to describe a model's geometric and topological information and provides parameters for the position and orientation of motion trajectories on cubic spline interpolated surfaces.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCollaborative Robot Kinematics Module: Provides an equivalent trigonometric solution to the kinematic equations of robots.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eThe main focus of the designed system includes the construction of the overall embedded system, customization and compilation of the 3D geometric engine OCCT for ARM architecture, and adaptation of the QtCreator widget for loading and rendering the robotic arm model under the xFce4 desktop program environment. By completing these three components and seamlessly integrating them into industrial applications, the embedded system for collaborative robots can achieve fast, stable, and accurate kinematic calculation and image simulation tasks.\u003c/p\u003e\n\u003cdiv id=\"Sec3\" class=\"Section2\"\u003e\n\u003ch2\u003e2.1 ARM Module\u003c/h2\u003e\n\u003cp\u003eThe ARM module is designed around the Jetson Orin series, featuring an ARM Cortex-A78 multi-processor core for the CPU and an Ampere architecture GA10B for the GPU, Supporting ARMv8.2 multi-stage pipeline instruction set. Making it highly suitable for developing large-scale and complex graphics applications. When designed, its external main clock frequency can reach up to 1.5GHz. The chip's SOC is fabricated using a 5nm process technology, resulting in a significant improvement in floating-point data processing performance. It also has built-in OpenGL graphics rendering support, this provides us with strong hardware support for exploring the application of geometric engines OCCT on X11. The schematic diagram of the main control module is shown in Fig.\u0026nbsp;\u003cspan class=\"InternalRef\"\u003e4\u003c/span\u003e.\u003c/p\u003e\n\u003c/div\u003e\n\u003cdiv id=\"Sec4\" class=\"Section2\"\u003e\n\u003ch2\u003e2.2 Network Card Module\u003c/h2\u003e\n\u003cp\u003eThe DM9000 chip is a fully integrated, cost-effective, low pin-count single-chip fast Ethernet controller with a universal processor interface. It provides an 8-bit or 16-bit data interface for accessing internal memory to accommodate different types of processors. The physical protocol layer interface of DM9000 fully supports the use of 100 Mbps and below Category 5 unshielded twisted pair cables. Its automatic negotiation feature will automatically configure the network bandwidth to achieve optimal performance. The schematic diagram of the network card communication module is shown in Fig.\u0026nbsp;\u003cspan class=\"InternalRef\"\u003e5\u003c/span\u003e.\u003c/p\u003e\n\u003c/div\u003e\n\u003cdiv id=\"Sec5\" class=\"Section2\"\u003e\n\u003ch2\u003e2.3 LCD Module\u003c/h2\u003e\n\u003cp\u003eThe S70-AT070TN92 adopts the FPC ribbon cable package form and has 41 pins. Its pins can be divided into RGB data interface pins, LCD interface pins, and power clock interface pins. TFT-LCD has become the most popular type of LCD. Logically, a complete image displayed on the screen is called a frame. In the system memory, there is a corresponding storage space called a frame buffer device, which corresponds to the entire display area. By changing the contents of the data frame (FrameBuffer) \u003csup\u003e[\u003cspan class=\"CitationRef\"\u003e8\u003c/span\u003e]\u003c/sup\u003e, the display content on the screen can be changed. Each pixel on the display screen corresponds to a certain position in the frame buffer device. Since the colors displayed on the computer screen are represented by RGB values, the corresponding RGB code values in the frame buffer must be provided to achieve the effect of displaying a certain color at a certain pixel on the screen.\u003c/p\u003e\n\u003c/div\u003e\n\u003cdiv id=\"Sec6\" class=\"Section2\"\u003e\n\u003ch2\u003e2.4 Ubuntu RootFS Module\u003c/h2\u003e\n\u003cp\u003eThe root file system is the first file system mounted during kernel startup. The kernel code image file is saved in the root file system, and the system bootloader program will load some basic initialization scripts and services from it into memory to run after the root file system is mounted. U-Boot uses the uImage compressed kernel file, which has a 64-byte header containing auxiliary information such as checksums and system configurations needed after system boot. In this article, we use the NFS method to mount the root file system, which allows quick switching of different versions of file systems according to user requirements.\u003c/p\u003e\n\u003c/div\u003e\n\u003cdiv id=\"Sec7\" class=\"Section2\"\u003e\n\u003ch2\u003e2.5 OpenCasCade Module\u003c/h2\u003e\n\u003cp\u003eOpenCasCade provides an API for reading and writing STEP model files for mechanical arms. However, it is important to note that the coordinate systems stored within the 3D models may have differences due to axes parameters \u003csup\u003e[\u003cspan class=\"CitationRef\"\u003e9\u003c/span\u003e]\u003c/sup\u003e. Especially The reference coordinate system of SolidWorks models is significantly different from that of OCCT. Therefore, OpenCasCade provides functionality to calibrate the coordinate system of the robot arm's STEP model file. The model coordinate system is a crucial dependency for later simulations. Additionally, OpenCasCade also supports solving tangent lines and focal points of cubic spline surfaces, as well as displaying and interacting with complex shapes.\u003c/p\u003e\n\u003cdiv class=\"gridtable\"\u003e\n\u003ctable id=\"Tab1\" border=\"1\"\u003e\u003ccaption\u003e\n\u003cdiv class=\"CaptionNumber\"\u003eTable 1\u003c/div\u003e\n\u003cdiv class=\"CaptionContent\"\u003e\n\u003cp\u003eOpenCasCade Dependency\u003c/p\u003e\n\u003c/div\u003e\n\u003c/caption\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth align=\"left\"\u003e\n\u003cp\u003eNo.\u003c/p\u003e\n\u003c/th\u003e\n\u003cth align=\"left\"\u003e\n\u003cp\u003epackages\u003c/p\u003e\n\u003c/th\u003e\n\u003cth align=\"left\"\u003e\n\u003cp\u003eversion\u003c/p\u003e\n\u003c/th\u003e\n\u003cth align=\"left\"\u003e\n\u003cp\u003elib\u003c/p\u003e\n\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e1\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003emesa-common\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e20.0.8\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003eTKernel\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e2\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003etcllib\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e1.19\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003eTKTObjDRAW\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e3\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003etklib\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e0.6\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003eTKG3d\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e4\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003etcl/tk-dev\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e8.6\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003eTKOffset\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e5\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003exmu-dev\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e1.1.2\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003eTKOpenGl\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e6\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003exi-dev\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e1.7.9\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003eTKXDEDraw\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e7\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003excb-xinerama0\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e1.13\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003eTKService\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv id=\"Sec8\" class=\"Section2\"\u003e\n\u003ch2\u003e2.6 Collaborative Robot Kinematics Module\u003c/h2\u003e\n\u003cp\u003eRH20 is a robotic arm with a spherical wrist joint. The spherical wrist joint is an important and independent structure on the robotic arm, mainly used to determine the end effector's orientation. As shown in Fig.\u0026nbsp;\u003cspan class=\"InternalRef\"\u003e8\u003c/span\u003e, the axes of the robotic arm's spherical wrist joint intersect at a point, and the adjacent axes are perpendicular to each other, forming three revolute joints. Therefore, the angles of the first three joints can be determined based on the position of the wrist. The position of the wrist is determined by the first three joints and is independent of the last three joints. The wrist position is equal to the end position of the third axis.\u003c/p\u003e\n\u003c/div\u003e"},{"header":"3. Kinematic of Collaborative Robots","content":"\u003cdiv id=\"Sec10\" class=\"Section2\"\u003e\n\u003ch2\u003e3.1 DH Coordinate Systems for Robots\u003c/h2\u003e\n\u003cp\u003eWhen conducting a kinematic analysis of the robotic arm, the (DH) parameter method is commonly used to establish the robot coordinate system \u003csup\u003e[\u003cspan class=\"CitationRef\"\u003e10\u003c/span\u003e]\u003c/sup\u003e. It uses four parameters, \u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({\\theta }_{i}\\)\u003c/span\u003e\u003c/span\u003e、\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({d}_{i}\\)\u003c/span\u003e\u003c/span\u003e、\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({a}_{i}\\)\u003c/span\u003e\u003c/span\u003e、\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({\\alpha }_{i}\\)\u003c/span\u003e\u003c/span\u003e, to describe the relationship between adjacent links and the robot arm. These parameters can be used to derive the homogeneous transformation matrix from the end effector coordinate system to the base coordinate system. Based on the DH parameter table in Table\u0026nbsp;\u003cspan class=\"InternalRef\"\u003e2\u003c/span\u003e, the coordinate parameters for each link can be obtained. However, comparing to Table\u0026nbsp;3, it is important to note that the offset caused by joint motor size, so\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({ a}_{3}\\)\u003c/span\u003e\u003c/span\u003eshould be considered in kinematic calculations. Joint offsets can introduce deviations in the computed results, so it is necessary to account for this factor to ensure accurate kinematic analysis.\u003c/p\u003e\n\u003cdiv class=\"gridtable\"\u003e\n\u003ctable id=\"Tab2\" border=\"1\"\u003e\u003ccaption\u003e\n\u003cdiv class=\"CaptionNumber\"\u003eTable 2\u003c/div\u003e\n\u003cdiv class=\"CaptionContent\"\u003e\n\u003cp\u003eEverRobot DH parameters\u003c/p\u003e\n\u003c/div\u003e\n\u003c/caption\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth align=\"left\"\u003e\n\u003cp\u003eLink\u003c/p\u003e\n\u003c/th\u003e\n\u003cth align=\"left\"\u003e\n\u003cp\u003e\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({a}_{i-1}\\)\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n\u003c/th\u003e\n\u003cth align=\"left\"\u003e\n\u003cp\u003e\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({\\alpha }_{i-1}\\)\u003c/span\u003e\u003c/span\u003e(\u0026deg;)\u003c/p\u003e\n\u003c/th\u003e\n\u003cth align=\"left\"\u003e\n\u003cp\u003e\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({d}_{i}\\)\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n\u003c/th\u003e\n\u003cth align=\"left\"\u003e\n\u003cp\u003e\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({\\theta }_{i}\\)\u003c/span\u003e\u003c/span\u003e(\u0026deg;)\u003c/p\u003e\n\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e1\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e0\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e0\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e510\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({\\theta }_{1}\\)\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e2\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e150\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e90\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e0\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({\\theta }_{2}\\)\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e3\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e760\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e0\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e0\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({\\theta }_{3}\\)\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e4\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e150\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e90\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e805\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({\\theta }_{4}\\)\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e5\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e0\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e-90\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e0\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({\\theta }_{5}\\)\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e6\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e0\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e-90\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e140\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({\\theta }_{6}\\)\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003cdiv class=\"gridtable\"\u003e\n\u003ctable id=\"Tab2\" border=\"1\"\u003e\u003ccaption\u003e\n\u003cdiv class=\"CaptionNumber\"\u003eTable 3\u003c/div\u003e\n\u003cdiv class=\"CaptionContent\"\u003e\n\u003cp\u003eAUBO DH parameters\u003c/p\u003e\n\u003c/div\u003e\n\u003c/caption\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth align=\"left\"\u003e\n\u003cp\u003eLink\u003c/p\u003e\n\u003c/th\u003e\n\u003cth align=\"left\"\u003e\n\u003cp\u003e\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({a}_{i-1}\\)\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n\u003c/th\u003e\n\u003cth align=\"left\"\u003e\n\u003cp\u003e\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({\\alpha }_{i-1}\\)\u003c/span\u003e\u003c/span\u003e(\u0026deg;)\u003c/p\u003e\n\u003c/th\u003e\n\u003cth align=\"left\"\u003e\n\u003cp\u003e\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({d}_{i}\\)\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n\u003c/th\u003e\n\u003cth align=\"left\"\u003e\n\u003cp\u003e\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({\\theta }_{i}\\)\u003c/span\u003e\u003c/span\u003e(\u0026deg;)\u003c/p\u003e\n\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e1\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e0\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e0\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e122\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({\\theta }_{1}\\)\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e2\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e0\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e-90\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e121.5\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({\\theta }_{2}\\)\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e3\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e408\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e180\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e0\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({\\theta }_{3}\\)\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e4\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e376\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e180\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e0\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({\\theta }_{4}\\)\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e5\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e0\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e-90\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e102.5\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({\\theta }_{5}\\)\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e6\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"char\" char=\".\"\u003e\n\u003cp\u003e0\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e-90\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e94\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({\\theta }_{6}\\)\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/div\u003e\n\u003cdiv id=\"Sec11\" class=\"Section2\"\u003e\n\u003ch2\u003e3.2 Robot's Motion Equations\u003c/h2\u003e\n\u003cp\u003eNonlinear equations typically contain nonlinear functions, making analytical solutions very difficult or even impossible. Therefore, in general, we need to use numerical methods to approximately solve the system of nonlinear kinematics equations. \u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({A}_{6}^{0}\\)\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\(\\text{s}\\text{h}\\text{o}\\text{w} \\text{t}\\text{h}\\text{e} \\text{r}\\text{e}\\text{l}\\text{a}\\text{t}\\text{i}\\text{o}\\text{n}\\text{s}\\text{h}\\text{i}\\text{p} \\text{b}\\text{e}\\text{t}\\text{w}\\text{e}\\text{e}\\text{n} \\text{l}\\text{i}\\text{n}\\text{k}\\text{s}:\\)\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\n\u003cp\u003e\u003cspan class=\"InlineEquation\"\u003e \u003cspan class=\"mathinline\"\u003e\\({A}_{6}^{0}\\)\u003c/span\u003e \u003c/span\u003e=\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({A}_{1}^{0}{A}_{2}^{1}{A}_{3}^{2}{A}_{4}^{3}{A}_{5}^{4}{A}_{6}^{5}\\)\u003c/span\u003e\u003c/span\u003e=\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\(\\left[\\begin{array}{cccc}{f}_{x}\u0026amp; {s}_{x}\u0026amp; {t}_{x}\u0026amp; {p}_{x}\\\\ {f}_{y}\u0026amp; {s}_{y}\u0026amp; {t}_{y}\u0026amp; {p}_{y}\\\\ {f}_{z}\u0026amp; {s}_{z}\u0026amp; {t}_{z}\u0026amp; {p}_{z}\\\\ 0\u0026amp; 0\u0026amp; 0\u0026amp; 1\\end{array}\\right]\\)\u003c/span\u003e\u003c/span\u003e (3.1)\u003c/p\u003e\n\u003cp\u003eThe intersection point of the axes of the last three joints is the wrist joint \u003csup\u003e[\u003cspan class=\"CitationRef\"\u003e11\u003c/span\u003e]\u003c/sup\u003e. Therefore, the end-effector of the robotic arm can be considered as an extension of length \u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({d}_{6}\\)\u003c/span\u003e\u003c/span\u003e from the wrist joint of the arm. By setting \u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\({d}_{6}\\)\u003c/span\u003e\u003c/span\u003e=0 in Eq.\u0026nbsp;3.1 to \u003cspan class=\"InternalRef\"\u003e3.2\u003c/span\u003e, we can obtain the position of the wrist center of the robotic arm.\u003c/p\u003e\n\u003cdiv id=\"Equ1\" class=\"Equation\"\u003e\n\u003cdiv id=\"FileID_Equ1\" class=\"mathdisplay\"\u003e$$\\left[\\begin{array}{c}{w}_{x}\\\\ {w}_{y}\\\\ {w}_{z}\\end{array}\\right]=\\left[\\begin{array}{c}{a}_{1}c\\left({\\theta }_{1}\\right)+{a}_{2}c\\left({\\theta }_{1}\\right)c\\left({\\theta }_{2}\\right)+{a}_{3}c\\left({\\theta }_{1}\\right)c\\left({\\theta }_{23}\\right)+ {d}_{4}c\\left({\\theta }_{1}\\right)s\\left({\\theta }_{23}\\right)\\\\ {a}_{1}s\\left({\\theta }_{1}\\right)+{a}_{2}s\\left({\\theta }_{1}\\right)c\\left({\\theta }_{2}\\right)+{a}_{3}s\\left({\\theta }_{1}\\right)c\\left({\\theta }_{23}\\right)+ {d}_{4}s\\left({\\theta }_{1}\\right)s\\left({\\theta }_{23}\\right)\\\\ {a}_{2}s\\left({\\theta }_{2}\\right)+{a}_{3}s\\left({\\theta }_{23}\\right)-{d}_{4}c\\left({\\theta }_{23}\\right)\\end{array}\\right]$$\u003c/div\u003e\n\u003cdiv class=\"EquationNumber\"\u003e3.2\u003c/div\u003e\n\u003c/div\u003e\n\u003cp\u003eBy comparing Eq.\u0026nbsp;3.1 and Eq.\u0026nbsp;\u003cspan class=\"InternalRef\"\u003e3.2\u003c/span\u003e, we can infer the following relationship between the wrist center position W and the end-effector position P of the robotic arm.\u003c/p\u003e\n\u003cdiv id=\"Equ2\" class=\"Equation\"\u003e\n\u003cdiv id=\"FileID_Equ2\" class=\"mathdisplay\"\u003e$$\\left[\\begin{array}{c}{w}_{x}\\\\ {w}_{y}\\\\ {w}_{z}\\end{array}\\right]=\\left[\\begin{array}{c}{p}_{x}\\\\ {p}_{y}\\\\ {p}_{z}\\end{array}\\right]-{d}_{6}\\left[\\begin{array}{c}{t}_{x}\\\\ {t}_{y}\\\\ {t}_{z}\\end{array}\\right]$$\u003c/div\u003e\n\u003cdiv class=\"EquationNumber\"\u003e3.3\u003c/div\u003e\n\u003c/div\u003e\n\u003cp\u003eObserving the equation, by using a pose separation approach, we can calculate the angles based on the position of the wrist center. Then, we can calculate the remaining joint angles using the system of equations. This simplifies the calculation process and improves the efficiency of the algorithm \u003csup\u003e[\u003cspan class=\"CitationRef\"\u003e12\u003c/span\u003e]\u003c/sup\u003e.\u003c/p\u003e\n\u003c/div\u003e"},{"header":"4. Simulation on ARM","content":"\u003cdiv id=\"Sec13\" class=\"Section2\"\u003e\n \u003ch2\u003e4.1 Analysis of Image Space Rendering\u003c/h2\u003e\n \u003cp\u003eBy utilizing the embedded image processor, QGLWidget, and the 3D geometry engine OCCT under the ARM architecture, it is possible to render a three-dimensional STEP file model of a collaborative robot. By simultaneously setting the axis-angle parameters of the robotic arm and adjusting the input, the angles of each joint can be manipulated, resulting in joint movements.\u003c/p\u003e\n \u003cp\u003eThe rapid development of embedded graphics processors and their corresponding programming models, such as OpenGL ES, has enabled real-time image processing on portable devices. Due to its low hardware overhead, OpenGL ES is an excellent choice for achieving high-performance image processing on ARM-embedded GPUs \u003csup\u003e[\u003cspan class=\"CitationRef\"\u003e13\u003c/span\u003e]\u003c/sup\u003e. The research on high-performance implementation and optimization of rasterization-based image processing algorithms based on OpenGL ES holds significant practical significance. The process of image rasterization is shown below:\u003c/p\u003e\n \u003cp\u003ePlease note that the Fragment Operation shown in the black background box in the image, when using a combination of stencil testing and depth testing in OpenGL, as shown in Fig.\u0026nbsp;\u003cspan class=\"InternalRef\"\u003e11\u003c/span\u003e, can simplify the rendering process of complex tasks that would require multiple repetitions. For example, rendering shadows, drawing shapes, or handling highlights in the intersection of composite geometric primitives can be achieved simply through texture mapping, thus reducing the burden on the graphics hardware \u003csup\u003e[\u003cspan class=\"CitationRef\"\u003e14\u003c/span\u003e–\u003cspan class=\"CitationRef\"\u003e17\u003c/span\u003e]\u003c/sup\u003e.\u003c/p\u003e\n \u003cp\u003eUnderstanding the role of the Stencil Buffer and a key step in image rendering, this article mainly compiles the Qt source code under the ARM and adds third-party dependencies such as OpenGL Stencil Buffer \u003csup\u003e[\u003cspan class=\"CitationRef\"\u003e18\u003c/span\u003e]\u003c/sup\u003e. At the same time, it maps the OCCT window widget to QGLWidget, as shown in Fig.\u0026nbsp;12. Since the underlying window properties are interacted with through the function winId(), the combination of the 3D geometry engine and the Linux X11 window attribute system is achieved through a unique identifier \u003csup\u003e[\u003cspan class=\"CitationRef\"\u003e19\u003c/span\u003e]\u003c/sup\u003e, laying a solid foundation for image rendering and cross-platform robot simulation applications.\u003c/p\u003e\n \u003cp\u003eBy using the built-in Laplace equation in the geometry engine, separation of the radial component (r) and the angular components (θ and φ) can be achieved. This separation forms a gradient vector in a specific direction that can be used to add a continuous variation of ambient light to a specific viewpoint. This simulation helps to create the effect observed by an observer in a real environment \u003csup\u003e[\u003cspan class=\"CitationRef\"\u003e20\u003c/span\u003e]\u003c/sup\u003e.\u003c/p\u003e\n \u003cp\u003e\u003cimg src=\"data:image/png;base64,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\"\u003e\u003cbr\u003e\u003c/p\u003e\n \u003cp\u003eWhere R(r) represents the distance, and Y (θ, φ) represents the spherical harmonics function.\u003c/p\u003e\n\u003c/div\u003e\n\u003cdiv id=\"Sec14\" class=\"Section2\"\u003e\n \u003ch2\u003e4.2 Motion Simulation Validation\u003c/h2\u003e\n \u003cp\u003eBy using the STEPControl_Reader class provided by the 3D engine OCCT gets the 3D model parameters from the robotic arm file. The TDF_Label class is used to store the additional information obtained from the STEP file, such as coordinates and color information. The XCAFDoc_ShapeTool class can be used to manage the Shape part of the model and construct the assembly structure tree. Finally, the 3D model of the robot arm can be displayed using the OCCT window component Aspect_Window and the view component QGLWidget from the Qt widget component. This experiment can simulate welding applications in industrial production by setting the joint axis angles based on the DH parameters using the gp_Trsf transformation. The generated model by the geometry engine is shown in Fig.\u0026nbsp;\u003cspan class=\"InternalRef\"\u003e13\u003c/span\u003e.\u003c/p\u003e\n \u003cp\u003eIn the initial state of the robot, as shown in Fig.\u0026nbsp;14, the joint angles are θ = (0, π/2, 0, 0, π, 0), and the position coordinates of the end effector are (1095, 0, 1420) in units of mm. This result is consistent with the previous results obtained through DH coordinate transformation, validating the correctness of the DH coordinates. In OCCT, using the BRepAdaptor_Surface on a three-dimensional surface, you can set two different tangent vectors at a certain point, named vector \u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\(\\stackrel{⃑}{u}\\)\u003c/span\u003e\u003c/span\u003eand vector \u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\(\\stackrel{⃑}{v}\\)\u003c/span\u003e\u003c/span\u003e. By taking the cross product of \u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\(\\stackrel{⃑}{u}\\)\u003c/span\u003e\u003c/span\u003e×\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\(\\stackrel{⃑}{v}\\)\u003c/span\u003e\u003c/span\u003e, you can obtain a normal vector parameter that describes the end effector's pose of the robot arm. The normal vector information at the nodes can be used to obtain the Euler angles (R, P, Y) that describe the end effector's pose after two rotations in the world coordinate system. Simulation based on these key parameters can generate the discrete trajectory curve and motion data of the robot arm. In the experiment, multiple sets of collaborative robot joint angle parameters can be obtained by inverse solving based on the normal vectors of the cubic spline surface. The motion of the end effector during the simulation process shows smooth displacement variations in all directions, which can be observed and collected as kinematic information on the high-speed CAN bus of the collaborative robotic arm.\u003c/p\u003e\n \u003cp\u003eFigure \u003cspan class=\"InternalRef\"\u003e15\u003c/span\u003eA indicates that the embedded simulation system for collaborative robots when utilizing the Thumb state instruction set and Linux CMA functionality, can smoothly handle computing tasks on an ARM SOC for discrete path calculation and 3D model rendering demand. This demonstrates that the simulation system has a relatively stable render pattern, meeting the design goals as expected.\u003c/p\u003e\n \u003cp\u003eFigure 15B shows that the 3D model simulation of the collaborative robot runs on a physical machine with an ARM architecture Cortex-A78 and 4GB of memory. From the image, it can be seen that the program's execution efficiency has been achieved at the cost of sacrificing memory and registers, which aligns with the assumptions made in the previous experiments.\u003c/p\u003e\n\u003c/div\u003e"},{"header":"5. Conclusion","content":"\u003col\u003e\n\u003cli\u003e\n\u003cp\u003eThis paper presents a design of an embedded 3D simulation system based on the ARM architecture. It includes the adaptation of the lower-level SOC, a lightweight desktop application window manager Xfce4, and a trimmed version of the 3D geometry engine OpenCasCade. Compared to traditional robotic arm image rendering systems, the proposed system allows for the addition of required 3D geometry engine modules based on application needs. By ensuring performance, it also verifies that the graphics module in the SOC under the ARM architecture, along with its supporting OpenGL driver, can support the rendering functionality of the 3D geometry engine.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe calibration of the STEP model file's base coordinate system is performed in OpenCasCade, and the workspace of the robotic arm is drawn. The analysis results show that the control system of this robotic arm simplifies the communication link between the main control system and the joint modules, making it suitable for industrial robot applications. Simulation experiments are conducted to obtain various motion parameter curves and data, which validate that the designed robot can achieve the expected design goals. This work also lays the foundation for trajectory planning and control research on robotic arms.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn conclusion, it can be inferred that the objective of cost savings has been achieved while ensuring performance, with a cost reduction of hardware of approximately 8\u0026ndash;16% compared to the previous robot soc.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e"},{"header":"Declarations","content":"\u003ch2\u003eAcknowledge\u003c/h2\u003e\n\u003cp\u003eThese works are supported by the Fundamental Research Program of Shanxi Province (No. 202103021224266). The authors would like to thank the Robot Team of CNITECH for cooperating and helping.\u003c/p\u003e\n\u003ch2\u003eConflict of interest\u003c/h2\u003e\n\u003cp\u003ethe authors declare no potential and competing conflict of interest concerning the research.\u003c/p\u003e\n\u003ch2\u003eAuthor Contribution\u003c/h2\u003e\n\u003cp\u003eShan Gao \u0026amp; Hua Geng conceived of the presented idea. Hua Geng \u0026amp; YaQiong Ge developed the theory and performed the computations. Hua Geng \u0026amp; WebBin Zhang verified the analytical methods, Shan Gao encouraged Hua Geng \u0026amp; WebBin Zhang to investigate a specific aspect and supervised the findings of this work. All authors discussed the results and contributed to the final manuscript.\u003c/p\u003e"},{"header":"References","content":"\u003col\u003e\n\u003cli\u003eYaSong Pu, HongJun Wang, Jie Jiang, et al. Application of Industrial Robots in Polishing Processes [J]. Science and Technology Innovation Herald.2018,15(29): 42-43.DOI: 10.16660/j.cnki.1674-098X.2018.29.042.\u003c/li\u003e\n\u003cli\u003eJun Wang, ChaoXiang Shao, Liang Zhang, et al. Research on Kinematic Simulation and Control System of Welding Robots [J]. Electric Welding Machine. ,2023,53(09):29-36.\u003c/li\u003e\n\u003cli\u003eSeo H, Sanal P, Jalali A, et al. Optimized Implementation of SIKE Round 2 on 64-bit ARM Cortex-A Processors[J]. Circuits and Systems I: Regular Papers, IEEE Transactions on, 2020, PP (99): 1-13.DOI: 10.1109/TCSI.2020.2979410.\u003c/li\u003e\n\u003cli\u003eKahl B. Real-Time Global Illumination Using OpenGL and Voxel Cone Tracing[J]. 2021.DOI: 10.48550/arXiv.2104.00618.\u003c/li\u003e\n\u003cli\u003eBanovi M, Vasilopoulos I, Walther A, et al. Algorithmic differentiation of an industrial airfoil design tool coupled with the adjoint CFD method[J]. Optimization and Engineering,2020,21(3): 12211242.DOI: 10.1007/s11081-019-09474-x.\u003c/li\u003e\n\u003cli\u003eGoston R\u0026oacute;th.Remark on Algorithm 992: An OpenGL- and C++-based Function Library for Curve and Surface Modeling in a Large Class of Extended Chebyshev Spaces[J]. ACM Transactions on Mathematical Software (TOMS), 2021.\u003c/li\u003e\n\u003cli\u003eX. Xu, M. Bhargava, S. Moore, S. Sinha and B. Cline, \u0026quot;Enhanced 3D Implementation of an Arm\u0026reg; Cortex\u0026reg;-A Microprocessor,\u0026quot; 2019 IEEE/ACM International Symposium on Low Power Electronics and Design (ISLPED), Lausanne, Switzerland, 2019, pp. 1-6, Doi: 10.1109/ISLPED.2019.8824984.\u003c/li\u003e\n\u003cli\u003eM. Han et al., \u0026quot;A Virtual Frame Buffer Abstraction for Parallel Rendering of Large Tiled Display Walls,\u0026quot; 2020 IEEE Visualization Conference (VIS), Salt Lake City, UT, USA, 2020, pp. 11-15, Doi: 10.1109/VIS47514.2020.00009. \u003c/li\u003e\n\u003cli\u003eKang Yao. Design of Firefighting Robot Based on Embedded Systems [J]. Science and Technology Innovation. 2023(19): 55-57.DOI: 10.15913/j.cnki.kjycx.2023.19.017.\u003c/li\u003e\n\u003cli\u003eHongHong Zhao, HongShen Wang, XiangYu Zhang. Parametric Design System for Axis Three-dimensional Based on OpenCasCade [J]. Manufacturing and Automation of Machinery. 2019,48(04): 97-99.DOI: 10.19344/j.cnki.issn1671-5276.2019.04.026.\u003c/li\u003e\n\u003cli\u003eWei Ding, BingWei Zhang, QingYuan Meng, et al. Design and Kinematic Analysis of Six Degree-of-Freedom Economical Industrial Robot [J]. Machine Tools and Hydraulics. 2019,47(11):19-23.\u003c/li\u003e\n\u003cli\u003eX. Wang, Y. Hua, J. Gao, Z. Lin and R. Yu, \u0026quot;Digital Twin Implementation of Autonomous Planning Arc Welding Robot System,\u0026quot; in Complex System Modeling and Simulation, vol.3, no. 3, pp. 236-251, September 2023, DOI: 10.23919/CSMS.2023.0013.\u003c/li\u003e\n\u003cli\u003eQingHao Zhu, Qiang Zang, Hua Yue, et al. Kinematic Analysis and Simulation of a 6-DOF Industrial Robot [J]. China Science and Technology Papers. 2020,15(8):953-958. DOI: 10.3969/j.issn.2095-2783.2020.08.018.\u003c/li\u003e\n\u003cli\u003eWenBin Chang, MingRen Mou, HaiPeng Jia, et al. Implementation and Optimization Research of Image Filtering Algorithm based on OpenGL ES [J]. Computer Engineering. 2023,49(11): 257-266.DOI: 10.19678/j.issn.1000-3428.0067337.\u003c/li\u003e\n\u003cli\u003eShuai Zhao. Research on Path Planning Algorithm for Line Scanning Measurement Robot and Development of System based on OpenCasCade [D]. Hefei University of Technology, 2020.\u003c/li\u003e\n\u003cli\u003eBedaka A K, Lin C Y. Autonomous path generation platform for robot simulation [C] International Conference on Advanced Robotics \u0026amp; Intelligent Systems.2017: 63-68.DOI: 10.1109/ARIS.2017.8297186\u003c/li\u003e\n\u003cli\u003eMatsumura K, Zohouri H R, Wahib M, et al.AN5D: Automated Stencil Framework for High-Degree Temporal Blocking on GPUs[J].ACM, 2020.DOI:10.1145/3368826.3377904.\u003c/li\u003e\n\u003cli\u003eFrisken SF. SurfaceNets for Multi-Label Segmentations with Preservation of Sharp Boundaries. J Comput Graph Tech. 2022 Jan-Mar;11(1):34-54. Epub 2022 Feb 28. PMID: 36325473; PMCID: PMC9623606.\u003c/li\u003e\n\u003cli\u003eTollefson M, Tollefson M. Graphics Devices and Laying Out Plots[J]. Visualizing Data in R 4: Graphics Using the base, graphics, stats, and ggplot2 Packages, 2021: 251-277.\u003c/li\u003e\n\u003cli\u003eZhan F, Zhang C, Yu Y, et al. EMLight: Lighting Estimation via Spherical Distribution Approximation[C]//National Conference on Artificial Intelligence.2021.\u003c/li\u003e\n\u003c/ol\u003e"}],"fulltextSource":"","fullText":"","funders":[],"hasAdminPriorityOnWorkflow":false,"hasManuscriptDocX":true,"hasOptedInToPreprint":true,"hasPassedJournalQc":"","hasAnyPriority":false,"hideJournal":true,"highlight":"","institution":"","isAcceptedByJournal":false,"isAuthorSuppliedPdf":false,"isDeskRejected":"","isHiddenFromSearch":false,"isInQc":false,"isInWorkflow":false,"isPdf":false,"isPdfUpToDate":true,"isWithdrawnOrRetracted":false,"journal":{"display":true,"email":"
[email protected]","identity":"researchsquare","isNatureJournal":false,"hasQc":true,"allowDirectSubmit":true,"externalIdentity":"","sideBox":"","snPcode":"","submissionUrl":"/submission","title":"Research Square","twitterHandle":"researchsquare","acdcEnabled":true,"dfaEnabled":false,"editorialSystem":"","reportingPortfolio":"","inReviewEnabled":false,"inReviewRevisionsEnabled":true},"keywords":"Collaborative robot, OpenCasCade, Embedded Simulation System","lastPublishedDoi":"10.21203/rs.3.rs-3970403/v1","lastPublishedDoiUrl":"https://doi.org/10.21203/rs.3.rs-3970403/v1","license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"manuscriptAbstract":"\u003cp\u003eIn this article designing an embedded simulation system for heavy collaborative robots. From the perspective of control system autonomy, controllability, and economy, the selection of ARM SOC for the embedded computer hardware, LCD driver for the upper computer, Linux operating system, and OpenCasCade for the 3D geometry engine were completed. The localization rate of the industrial robot control system was improved while ensuring performance requirements. Establish a kinematic mathematical model of the robot based on the DH parameter method, and obtain the kinematic equation of the robot's end effector. Simultaneously building an ARM Linux environment that can run simulation systems, using the 3D geometry engine OpenCasCade to load the robot standard STEP model file, using QtCreator to simulate and model the robot, and conducting instance simulations. By analyzing the motion of the robot through simulation results, the correctness of the kinematic algorithm was verified, which meets the expected design goals and provides a reliable basis for the research of collaborative robot trajectory planning and control。\u003c/p\u003e","manuscriptTitle":"Research on Embedded 3D Simulation System for Collaborative Robots","msid":"","msnumber":"","nonDraftVersions":[{"code":1,"date":"2024-02-23 13:06:35","doi":"10.21203/rs.3.rs-3970403/v1","editorialEvents":[{"type":"communityComments","content":0}],"status":"published","journal":{"display":true,"email":"
[email protected]","identity":"researchsquare","isNatureJournal":false,"hasQc":true,"allowDirectSubmit":true,"externalIdentity":"","sideBox":"","snPcode":"","submissionUrl":"/submission","title":"Research Square","twitterHandle":"researchsquare","acdcEnabled":true,"dfaEnabled":false,"editorialSystem":"","reportingPortfolio":"","inReviewEnabled":false,"inReviewRevisionsEnabled":true}}],"origin":"","ownerIdentity":"2440eaaa-9fd9-4886-bcd4-53f7edbff9ea","owner":[],"postedDate":"February 23rd, 2024","published":true,"recentEditorialEvents":[],"rejectedJournal":[],"revision":"","amendment":"","status":"posted","subjectAreas":[],"tags":[],"updatedAt":"2024-04-22T15:43:24+00:00","versionOfRecord":[],"versionCreatedAt":"2024-02-23 13:06:35","video":"","vorDoi":"","vorDoiUrl":"","workflowStages":[]},"version":"v1","identity":"rs-3970403","journalConfig":"researchsquare"},"__N_SSP":true},"page":"/article/[identity]/[[...version]]","query":{"redirect":"/article/rs-3970403","identity":"rs-3970403","version":["v1"]},"buildId":"qtupq5eGEP_6zYnWcrvyt","isFallback":false,"isExperimentalCompile":false,"dynamicIds":[84888],"gssp":true,"scriptLoader":[]}
Text is read by the "Ask this paper" AI Q&A widget below.
Extraction quality varies by source — PMC NXML preserves structure
cleanly, OA-HTML may include some navigation residue, and OA-PDF can
have broken hyphenation. The publisher copy
(via DOI)
is the canonical version.