From 94514fd8690361a3febf41767d473bf836c9dbb1 Mon Sep 17 00:00:00 2001 From: ananyakango <91247934+kangoananya@users.noreply.github.com> Date: Wed, 16 Mar 2022 01:00:20 +0100 Subject: [PATCH] Assigment 2 - Che Wei Lin & Ananya Kango --- .../220316_Assigment_2_CW_AK.ghx | 742 ++++++++++++++++++ 1 file changed, 742 insertions(+) create mode 100644 lecture_03/assignment_02/ananya_kango-che_wei_lin/220316_Assigment_2_CW_AK.ghx diff --git a/lecture_03/assignment_02/ananya_kango-che_wei_lin/220316_Assigment_2_CW_AK.ghx b/lecture_03/assignment_02/ananya_kango-che_wei_lin/220316_Assigment_2_CW_AK.ghx new file mode 100644 index 0000000..437dfb2 --- /dev/null +++ b/lecture_03/assignment_02/ananya_kango-che_wei_lin/220316_Assigment_2_CW_AK.ghx @@ -0,0 +1,742 @@ + + + + + + + + 0 + 2 + 2 + + + + + + + 1 + 0 + 7 + + + + + + c8a4cec4-31e7-4829-b69a-df6d9c17ee7a + Shaded + 1 + + 100;150;0;0 + + + 100;0;150;0 + + + + + + 637829575144965197 + + 220316_Assigment_2_CW_AK.ghx + + + + + 0 + + + + + + 305 + -66 + + 2.87352824 + + + + + 0 + + + + + + + 0 + + + + + 1 + + + + + GhPython, Version=7.15.22039.13001, Culture=neutral, PublicKeyToken=null + 7.15.22039.13001 + + 00000000-0000-0000-0000-000000000000 + + + + + + + + + 10 + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + 9bc66d5a-cdf2-4cd8-845a-2c655f864811 + Number Slider + + false + 0 + + + + + + -68 + 65 + 163 + 20 + + + -67.82363 + 65.4509 + + + + + + 2 + 1 + 0 + 3.14 + -3.14 + 0 + -0.97 + + + + + + + + + 410755b1-224a-4c1e-a407-bf32fb45ea7e + 00000000-0000-0000-0000-000000000000 + GhPython Script + + + + + from compas.artists import Artist +from compas.datastructures import Mesh +from compas.geometry import Circle +from compas.geometry import Cylinder +from compas.geometry import Torus +from compas.geometry import Frame +from compas.geometry import Plane +from compas.geometry import Translation +from compas.geometry import Rotation +from compas.robots import Configuration +from compas.robots import Joint +from compas.robots import RobotModel +from compas.robots import Limit +import math + +# create cylinder in yz plane +radius, length, length_ = 0.3, 5, 1 + +cylinder = Cylinder(Circle(Plane([0, 0, 0], [1, 0, 0]), radius), length) +cylinder.transform(Translation.from_vector([length / 2.0, 0, 0])) + +torus = Torus(Plane([0,0,0],[0,0,1]),length_,0.2) + +# create robot model +model = RobotModel("robot", links=[], joints=[]) + +# link meshes (calling Mesh.from_shape effectively creates a copy of the shape) +leg_a = Mesh.from_shape(cylinder) +leg_b = Mesh.from_shape(cylinder) +torso = Mesh.from_shape(cylinder) +arm_a = Mesh.from_shape(cylinder) +arm_b = Mesh.from_shape(cylinder) +neck = Mesh.from_shape(Cylinder(Circle(Plane([0, 0, 0], [1, 0, 0]), radius), length_)) +head = Mesh.from_shape(torus) + +leg_leg_a = Mesh.from_shape(cylinder) +leg_leg_b = Mesh.from_shape(cylinder) +leg_leg_p = Mesh.from_shape(cylinder) +leg_leg_q = Mesh.from_shape(cylinder) + +# add links +link0 = model.add_link("world") +link1 = model.add_link("link1", visual_mesh=leg_a, visual_color=(0.2, 0.5, 0.6)) +link2 = model.add_link("link2", visual_mesh=leg_b, visual_color=(0.55, 0.6, 0.2)) +link3 = model.add_link("link3", visual_mesh=arm_a, visual_color=(0.25, 0.6, 0.2)) +link4 = model.add_link("link4", visual_mesh=arm_b, visual_color=(0.2, 0.3, 0.2)) +link5 = model.add_link("link5", visual_mesh=neck, visual_color=(0.6, 0.8, 0.2)) +link6 = model.add_link("link6", visual_mesh=head, visual_color=(0.8, 0.8, 0.2)) +link7 = model.add_link("link7", visual_mesh=torso, visual_color=(0.56, 0.8, 0.2)) + +link8 = model.add_link("link8", visual_mesh=leg_leg_a, visual_color=(0.56, 0.8, 0.2)) +link9 = model.add_link("link9", visual_mesh=leg_leg_b, visual_color=(0.56, 0.8, 0.2)) +link10 = model.add_link("link10", visual_mesh=leg_leg_p, visual_color=(0.56, 0.8, 0.2)) +link11 = model.add_link("link11", visual_mesh=leg_leg_q, visual_color=(0.56, 0.8, 0.2)) + +# add joints between the links +axis = (0, 0, 1) +origin = Frame.worldXY() +frame = Frame((length, 0, 0), (1, 0, 0), (0, 1, 0)) + +model.add_joint("joint0", Joint.FIXED, link0, link7, origin, axis) +model.add_joint("joint1", Joint.CONTINUOUS, link7, link1, frame, axis) +model.add_joint("joint2", Joint.CONTINUOUS, link7, link2, frame, axis) +model.add_joint("joint3", Joint.CONTINUOUS, link7, link3, Frame((0, 0, 0), (1, 0, 0), (0, 1, 0)), axis) +model.add_joint("joint4", Joint.CONTINUOUS, link7, link4, Frame((0, 0, 0), (1, 0, 0), (0, 1, 0)), axis) +model.add_joint("joint5", Joint.CONTINUOUS, link5, link7, Frame((length_*0.5, 0, 0), (1, 0, 0), (0, 1, 0)), axis) +model.add_joint("joint6", Joint.FIXED, link5, link6, Frame((-length_*1.5, 0, 0), (1, 0, 0), (0, 1, 0)), axis) + +model.add_joint("joint7", Joint.CONTINUOUS, link1, link8, frame, axis) +model.add_joint("joint8", Joint.CONTINUOUS, link2, link9, frame, axis) +model.add_joint("joint9", Joint.CONTINUOUS, link8, link10, frame, axis) +model.add_joint("joint10", Joint.CONTINUOUS, link9, link11, frame, axis) + + +j_names = [j.name for j in model.joints if j.type == 1] +# Create a configuration object matching the number of joints in your model +configuration = Configuration.from_revolute_values(config,j_names) + +# Update the model using the artist +artist = Artist(model) +artist.update(configuration) + +# Render everything +art = artist.draw_visual() +artist.redraw() + GhPython provides a Python script component + + 1189 + 157 + + + 1321 + 934 + + true + false + false + 2ab525b9-ba6d-49a2-a54e-5abdfe1cc536 + false + true + GhPython Script + Python + + + + + + 211 + 136 + 97 + 60 + + + 265 + 166 + + + + + + 1 + 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 + 2 + 3ede854e-c753-40eb-84cb-b48008f14fd4 + 8ec86459-bf01-4409-baee-174d0d2b13d0 + + + + + 1 + true + Script input y. + 620c145b-6064-4d38-ad96-d1f5863e3d6e + config + config + true + 1 + true + 9bc66d5a-cdf2-4cd8-845a-2c655f864811 + a2745d74-62ad-4b81-af48-637a4f7a88ac + f61d89fe-8761-4a08-bcac-8f7eb77dd726 + 596e68d1-01f1-4b93-998b-a3f9f1c627e7 + 0bee8ae3-58a3-4dca-8a21-915f27fd5b28 + 948150f1-c17f-4362-9da2-9874b5ab50a3 + cd5e556f-78ab-45a2-b171-c9797a66fc11 + 01361dfd-cde8-453c-b794-053c8dc2db97 + 02209116-a8b3-4a23-a77d-7dc6b08cfee3 + 9 + 39fbc626-7a01-46ab-a18e-ec1c0c41685b + + + + + + 213 + 138 + 37 + 56 + + + 233 + 166 + + + + + + + + The execution information, as output and error streams + 6db24043-9c8d-4f55-85f6-22757c980e10 + out + out + false + 0 + + + + + + 280 + 138 + 26 + 28 + + + 293 + 152 + + + + + + + + Script output art. + b10d33c6-6288-449b-83f4-0367c3714044 + art + art + false + 0 + + + + + + 280 + 166 + 26 + 28 + + + 293 + 180 + + + + + + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + a2745d74-62ad-4b81-af48-637a4f7a88ac + Number Slider + + false + 0 + + + + + + -69 + 92 + 163 + 20 + + + -68.34697 + 92.30597 + + + + + + 2 + 1 + 0 + 3.14 + -3.14 + 0 + 0.96 + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + f61d89fe-8761-4a08-bcac-8f7eb77dd726 + Number Slider + + false + 0 + + + + + + -68 + 118 + 163 + 20 + + + -67.79197 + 118.7477 + + + + + + 2 + 1 + 0 + 3.14 + -3.14 + 0 + 1.16 + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + 0bee8ae3-58a3-4dca-8a21-915f27fd5b28 + Number Slider + + false + 0 + + + + + + -68 + 171 + 163 + 20 + + + -67.84771 + 171.9877 + + + + + + 2 + 1 + 0 + 3.14 + -3.14 + 0 + 0.67 + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + 596e68d1-01f1-4b93-998b-a3f9f1c627e7 + Number Slider + + false + 0 + + + + + + -69 + 145 + 163 + 20 + + + -68.0403 + 145.4493 + + + + + + 2 + 1 + 0 + 3.14 + -3.14 + 0 + -1.35 + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + 948150f1-c17f-4362-9da2-9874b5ab50a3 + Number Slider + + false + 0 + + + + + + -69 + 199 + 163 + 20 + + + -68.51772 + 199.151 + + + + + + 2 + 1 + 0 + 3.14 + -3.14 + 0 + 0.67 + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + cd5e556f-78ab-45a2-b171-c9797a66fc11 + Number Slider + + false + 0 + + + + + + -69 + 225 + 163 + 20 + + + -68.27688 + 225.5344 + + + + + + 2 + 1 + 0 + 3.14 + -3.14 + 0 + -0.87 + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + 01361dfd-cde8-453c-b794-053c8dc2db97 + Number Slider + + false + 0 + + + + + + -69 + 252 + 163 + 20 + + + -68.04605 + 252.6611 + + + + + + 2 + 1 + 0 + 3.14 + -3.14 + 0 + 0.43 + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + 02209116-a8b3-4a23-a77d-7dc6b08cfee3 + Number Slider + + false + 0 + + + + + + -68 + 279 + 163 + 20 + + + -67.93605 + 279.5311 + + + + + + 2 + 1 + 0 + 3.14 + -3.14 + 0 + 0.77 + + + + + + + + + + + + + + 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 + + + + + \ No newline at end of file