We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Flaky `test_fk()` results
- Fails occasionally due to a small difference in the x-component of the transform matrix
  - https://ci.appveyor.com/project/nnadeau/pybotics/build/1.0.732/job/c9mmdfvctt9jasie
  - https://ci.appveyor.com/project/nnadeau/pybotics/build/1.0.732/job/qs645jqgd49iwa3s
- This corresponds to the first row of the UR10 resources
```
-45.0,147.0,-39.0,96.0,49.0,67.0,-0.10936549564013165,0.9937209495290638,0.02361912001841469,341.25528339185024,-0.30766985716369466,-0.011247226994026319,-0.9514266965341137,-658.5887448195482,-0.       9451869906829335,-0.11132014351410438,0.30696804115695675,-625.3245786240964,0.0,0.0,0.0,1.0
```


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `pybotics/predefined_models.py`
Content:
```
1 """Predefined robot models."""
2 from typing import Any
3 
4 import numpy as np  # type: ignore
5 
6 from pybotics import Robot
7 from pybotics.kinematic_chain import MDHKinematicChain
8 
9 
10 class KukaLBRiiwa7(Robot):
11     """KUKA LBR iiwa 7 R800 collaborative robot."""
12 
13     # TODO: add manufacturer's joint limits
14     kinematic_chain = MDHKinematicChain(
15         np.array([
16             0, 0, 0, 340,
17             -np.pi / 2, 0, 0, 0,
18             np.pi / 2, 0, 0, 400,
19             np.pi / 2, 0, 0, 0,
20             -np.pi / 2, 0, 0, 400,
21             -np.pi / 2, 0, 0, 0,
22             np.pi / 2, 0, 0, 126
23         ])
24     )
25 
26     def __init__(self, **kwargs: Any) -> None:
27         """Init robot."""
28         super().__init__(self.kinematic_chain, **kwargs)
29 
30 
31 class MecademicMeca500(Robot):
32     """Mecademic Meca500 small robot."""
33 
34     # TODO: add manufacturer's joint limits
35     kinematic_chain = MDHKinematicChain(
36         np.array([
37             0, 0, 0, 135,
38             -np.pi / 2, 0, -np.pi / 2, 0,
39             0, 135, 0, 0,
40             -np.pi / 2, 38, 0, 120,
41             np.pi / 2, 0, 0, 0,
42             -np.pi / 2, 0, np.pi, 72
43         ])
44     )
45 
46     def __init__(self, **kwargs: Any) -> None:
47         """Init robot."""
48         super().__init__(self.kinematic_chain, **kwargs)
49 
50 
51 class PUMA560(Robot):
52     """PUMA 560 robot."""
53 
54     # TODO: add manufacturer's joint limits
55     kinematic_chain = MDHKinematicChain(
56         np.array([
57             0, 0, 0, 0,
58             -np.pi / 2, 0, 0, 0,
59             0, 612.7, 0, 0,
60             0, 571.6, 0, 163.9,
61             -np.pi / 2, 0, 0, 115.7,
62             np.pi / 2, 0, np.pi, 92.2
63         ])
64     )
65 
66     def __init__(self, **kwargs: Any) -> None:
67         """Init robot."""
68         super().__init__(self.kinematic_chain, **kwargs)
69 
70 
71 class UR10(Robot):
72     """Universal Robots UR10 collaborative robot."""
73 
74     # TODO: add manufacturer's joint limits
75     kinematic_chain = MDHKinematicChain(
76         np.array([
77             0, 0, 0, 118,
78             np.pi / 2, 0, np.pi, 0,
79             0, 612.7, 0, 0,
80             0, 571.6, 0, 163.9,
81             -np.pi / 2, 0, 0, 115.7,
82             np.pi / 2, 0, np.pi, 92.2
83         ])
84     )
85 
86     def __init__(self, **kwargs: Any) -> None:
87         """Init robot."""
88         super().__init__(self.kinematic_chain, **kwargs)
89
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/pybotics/predefined_models.py b/pybotics/predefined_models.py
--- a/pybotics/predefined_models.py
+++ b/pybotics/predefined_models.py
@@ -1,4 +1,5 @@
 """Predefined robot models."""
+from copy import deepcopy
 from typing import Any
 
 import numpy as np  # type: ignore
@@ -25,7 +26,7 @@
 
     def __init__(self, **kwargs: Any) -> None:
         """Init robot."""
-        super().__init__(self.kinematic_chain, **kwargs)
+        super().__init__(deepcopy(self.kinematic_chain), **kwargs)
 
 
 class MecademicMeca500(Robot):
@@ -45,7 +46,7 @@
 
     def __init__(self, **kwargs: Any) -> None:
         """Init robot."""
-        super().__init__(self.kinematic_chain, **kwargs)
+        super().__init__(deepcopy(self.kinematic_chain), **kwargs)
 
 
 class PUMA560(Robot):
@@ -65,7 +66,7 @@
 
     def __init__(self, **kwargs: Any) -> None:
         """Init robot."""
-        super().__init__(self.kinematic_chain, **kwargs)
+        super().__init__(deepcopy(self.kinematic_chain), **kwargs)
 
 
 class UR10(Robot):
@@ -85,4 +86,4 @@
 
     def __init__(self, **kwargs: Any) -> None:
         """Init robot."""
-        super().__init__(self.kinematic_chain, **kwargs)
+        super().__init__(deepcopy(self.kinematic_chain), **kwargs)

{"golden_diff": "diff --git a/pybotics/predefined_models.py b/pybotics/predefined_models.py\n--- a/pybotics/predefined_models.py\n+++ b/pybotics/predefined_models.py\n@@ -1,4 +1,5 @@\n \"\"\"Predefined robot models.\"\"\"\n+from copy import deepcopy\n from typing import Any\n \n import numpy as np  # type: ignore\n@@ -25,7 +26,7 @@\n \n     def __init__(self, **kwargs: Any) -> None:\n         \"\"\"Init robot.\"\"\"\n-        super().__init__(self.kinematic_chain, **kwargs)\n+        super().__init__(deepcopy(self.kinematic_chain), **kwargs)\n \n \n class MecademicMeca500(Robot):\n@@ -45,7 +46,7 @@\n \n     def __init__(self, **kwargs: Any) -> None:\n         \"\"\"Init robot.\"\"\"\n-        super().__init__(self.kinematic_chain, **kwargs)\n+        super().__init__(deepcopy(self.kinematic_chain), **kwargs)\n \n \n class PUMA560(Robot):\n@@ -65,7 +66,7 @@\n \n     def __init__(self, **kwargs: Any) -> None:\n         \"\"\"Init robot.\"\"\"\n-        super().__init__(self.kinematic_chain, **kwargs)\n+        super().__init__(deepcopy(self.kinematic_chain), **kwargs)\n \n \n class UR10(Robot):\n@@ -85,4 +86,4 @@\n \n     def __init__(self, **kwargs: Any) -> None:\n         \"\"\"Init robot.\"\"\"\n-        super().__init__(self.kinematic_chain, **kwargs)\n+        super().__init__(deepcopy(self.kinematic_chain), **kwargs)\n", "issue": "Flaky `test_fk()` results\n- Fails occasionally due to a small difference in the x-component of the transform matrix\r\n  - https://ci.appveyor.com/project/nnadeau/pybotics/build/1.0.732/job/c9mmdfvctt9jasie\r\n  - https://ci.appveyor.com/project/nnadeau/pybotics/build/1.0.732/job/qs645jqgd49iwa3s\r\n- This corresponds to the first row of the UR10 resources\r\n```\r\n-45.0,147.0,-39.0,96.0,49.0,67.0,-0.10936549564013165,0.9937209495290638,0.02361912001841469,341.25528339185024,-0.30766985716369466,-0.011247226994026319,-0.9514266965341137,-658.5887448195482,-0.       9451869906829335,-0.11132014351410438,0.30696804115695675,-625.3245786240964,0.0,0.0,0.0,1.0\r\n```\r\n\n", "before_files": [{"content": "\"\"\"Predefined robot models.\"\"\"\nfrom typing import Any\n\nimport numpy as np  # type: ignore\n\nfrom pybotics import Robot\nfrom pybotics.kinematic_chain import MDHKinematicChain\n\n\nclass KukaLBRiiwa7(Robot):\n    \"\"\"KUKA LBR iiwa 7 R800 collaborative robot.\"\"\"\n\n    # TODO: add manufacturer's joint limits\n    kinematic_chain = MDHKinematicChain(\n        np.array([\n            0, 0, 0, 340,\n            -np.pi / 2, 0, 0, 0,\n            np.pi / 2, 0, 0, 400,\n            np.pi / 2, 0, 0, 0,\n            -np.pi / 2, 0, 0, 400,\n            -np.pi / 2, 0, 0, 0,\n            np.pi / 2, 0, 0, 126\n        ])\n    )\n\n    def __init__(self, **kwargs: Any) -> None:\n        \"\"\"Init robot.\"\"\"\n        super().__init__(self.kinematic_chain, **kwargs)\n\n\nclass MecademicMeca500(Robot):\n    \"\"\"Mecademic Meca500 small robot.\"\"\"\n\n    # TODO: add manufacturer's joint limits\n    kinematic_chain = MDHKinematicChain(\n        np.array([\n            0, 0, 0, 135,\n            -np.pi / 2, 0, -np.pi / 2, 0,\n            0, 135, 0, 0,\n            -np.pi / 2, 38, 0, 120,\n            np.pi / 2, 0, 0, 0,\n            -np.pi / 2, 0, np.pi, 72\n        ])\n    )\n\n    def __init__(self, **kwargs: Any) -> None:\n        \"\"\"Init robot.\"\"\"\n        super().__init__(self.kinematic_chain, **kwargs)\n\n\nclass PUMA560(Robot):\n    \"\"\"PUMA 560 robot.\"\"\"\n\n    # TODO: add manufacturer's joint limits\n    kinematic_chain = MDHKinematicChain(\n        np.array([\n            0, 0, 0, 0,\n            -np.pi / 2, 0, 0, 0,\n            0, 612.7, 0, 0,\n            0, 571.6, 0, 163.9,\n            -np.pi / 2, 0, 0, 115.7,\n            np.pi / 2, 0, np.pi, 92.2\n        ])\n    )\n\n    def __init__(self, **kwargs: Any) -> None:\n        \"\"\"Init robot.\"\"\"\n        super().__init__(self.kinematic_chain, **kwargs)\n\n\nclass UR10(Robot):\n    \"\"\"Universal Robots UR10 collaborative robot.\"\"\"\n\n    # TODO: add manufacturer's joint limits\n    kinematic_chain = MDHKinematicChain(\n        np.array([\n            0, 0, 0, 118,\n            np.pi / 2, 0, np.pi, 0,\n            0, 612.7, 0, 0,\n            0, 571.6, 0, 163.9,\n            -np.pi / 2, 0, 0, 115.7,\n            np.pi / 2, 0, np.pi, 92.2\n        ])\n    )\n\n    def __init__(self, **kwargs: Any) -> None:\n        \"\"\"Init robot.\"\"\"\n        super().__init__(self.kinematic_chain, **kwargs)\n", "path": "pybotics/predefined_models.py"}], "after_files": [{"content": "\"\"\"Predefined robot models.\"\"\"\nfrom copy import deepcopy\nfrom typing import Any\n\nimport numpy as np  # type: ignore\n\nfrom pybotics import Robot\nfrom pybotics.kinematic_chain import MDHKinematicChain\n\n\nclass KukaLBRiiwa7(Robot):\n    \"\"\"KUKA LBR iiwa 7 R800 collaborative robot.\"\"\"\n\n    # TODO: add manufacturer's joint limits\n    kinematic_chain = MDHKinematicChain(\n        np.array([\n            0, 0, 0, 340,\n            -np.pi / 2, 0, 0, 0,\n            np.pi / 2, 0, 0, 400,\n            np.pi / 2, 0, 0, 0,\n            -np.pi / 2, 0, 0, 400,\n            -np.pi / 2, 0, 0, 0,\n            np.pi / 2, 0, 0, 126\n        ])\n    )\n\n    def __init__(self, **kwargs: Any) -> None:\n        \"\"\"Init robot.\"\"\"\n        super().__init__(deepcopy(self.kinematic_chain), **kwargs)\n\n\nclass MecademicMeca500(Robot):\n    \"\"\"Mecademic Meca500 small robot.\"\"\"\n\n    # TODO: add manufacturer's joint limits\n    kinematic_chain = MDHKinematicChain(\n        np.array([\n            0, 0, 0, 135,\n            -np.pi / 2, 0, -np.pi / 2, 0,\n            0, 135, 0, 0,\n            -np.pi / 2, 38, 0, 120,\n            np.pi / 2, 0, 0, 0,\n            -np.pi / 2, 0, np.pi, 72\n        ])\n    )\n\n    def __init__(self, **kwargs: Any) -> None:\n        \"\"\"Init robot.\"\"\"\n        super().__init__(deepcopy(self.kinematic_chain), **kwargs)\n\n\nclass PUMA560(Robot):\n    \"\"\"PUMA 560 robot.\"\"\"\n\n    # TODO: add manufacturer's joint limits\n    kinematic_chain = MDHKinematicChain(\n        np.array([\n            0, 0, 0, 0,\n            -np.pi / 2, 0, 0, 0,\n            0, 612.7, 0, 0,\n            0, 571.6, 0, 163.9,\n            -np.pi / 2, 0, 0, 115.7,\n            np.pi / 2, 0, np.pi, 92.2\n        ])\n    )\n\n    def __init__(self, **kwargs: Any) -> None:\n        \"\"\"Init robot.\"\"\"\n        super().__init__(deepcopy(self.kinematic_chain), **kwargs)\n\n\nclass UR10(Robot):\n    \"\"\"Universal Robots UR10 collaborative robot.\"\"\"\n\n    # TODO: add manufacturer's joint limits\n    kinematic_chain = MDHKinematicChain(\n        np.array([\n            0, 0, 0, 118,\n            np.pi / 2, 0, np.pi, 0,\n            0, 612.7, 0, 0,\n            0, 571.6, 0, 163.9,\n            -np.pi / 2, 0, 0, 115.7,\n            np.pi / 2, 0, np.pi, 92.2\n        ])\n    )\n\n    def __init__(self, **kwargs: Any) -> None:\n        \"\"\"Init robot.\"\"\"\n        super().__init__(deepcopy(self.kinematic_chain), **kwargs)\n", "path": "pybotics/predefined_models.py"}]}