diff --git a/CAD/youBot.slx b/CAD/youBot.slx index dcb0f16..099474c 100644 Binary files a/CAD/youBot.slx and b/CAD/youBot.slx differ diff --git a/CAD/youBot_damping.slx b/CAD/youBot_damping.slx index 490681e..67281db 100644 Binary files a/CAD/youBot_damping.slx and b/CAD/youBot_damping.slx differ diff --git a/Libraries/CFL_Core/Libraries/Contact_Forces_Lib.slx b/Libraries/CFL_Core/Libraries/Contact_Forces_Lib.slx index b5ae370..aa54cee 100644 Binary files a/Libraries/CFL_Core/Libraries/Contact_Forces_Lib.slx and b/Libraries/CFL_Core/Libraries/Contact_Forces_Lib.slx differ diff --git a/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Block_NotchCircle.m b/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Block_NotchCircle.m index 04b9fa0..80ba765 100644 --- a/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Block_NotchCircle.m +++ b/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Block_NotchCircle.m @@ -17,7 +17,7 @@ % add 'plot' as the final argument % >> Extr_Data_Block_NotchCircle(2,1,0.7,45,0.2,'plot') -% Copyright 2012-2022 The MathWorks, Inc. +% Copyright 2012-2023 The MathWorks, Inc. % Default data to show diagram if (nargin == 0) diff --git a/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Box.m b/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Box.m index b125794..440b5fb 100644 --- a/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Box.m +++ b/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Box.m @@ -16,7 +16,7 @@ % add 'plot' as the final argument % >> Extr_Data_Box(10,5,'plot') -% Copyright 2013-2022 The MathWorks, Inc. +% Copyright 2013-2023 The MathWorks, Inc. % Default data to show diagram if (nargin == 0) diff --git a/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Cam_Circles.m b/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Cam_Circles.m index ef64505..a3873c3 100644 --- a/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Cam_Circles.m +++ b/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Cam_Circles.m @@ -19,7 +19,7 @@ % add 'plot' as the final argument % >> Extr_Data_Cam_Circles(4,3,5,1,0,'plot') -% Copyright 2012-2022 The MathWorks, Inc. +% Copyright 2012-2023 The MathWorks, Inc. % Default data to show diagram if (nargin == 0) diff --git a/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Cam_Roller_Curve.m b/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Cam_Roller_Curve.m index 66eb8d0..9dbd731 100644 --- a/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Cam_Roller_Curve.m +++ b/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Cam_Roller_Curve.m @@ -18,7 +18,7 @@ % add 'plot' as the final argument % >> Extr_Data_Cam_Roller_Curve([sind(1:4:360)' 1.5*cosd(1:4:360)'],0.2,'Outside','plot') -% Copyright 2017-2022 The MathWorks, Inc. +% Copyright 2017-2023 The MathWorks, Inc. % Default data to show diagram if (nargin == 0) diff --git a/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Custom.m b/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Custom.m index fcc443f..751ae4f 100644 --- a/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Custom.m +++ b/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Custom.m @@ -2,7 +2,7 @@ function Extr_Data_Custom(xy_data) %Extr_Data_Custom Plot custom extrusion data. % This function plots x-y data for a custom extrusion. -% Copyright 2012-2022 The MathWorks, Inc. +% Copyright 2012-2023 The MathWorks, Inc. % Plot diagram to show parameters and extrusion diff --git a/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Ellipse.m b/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Ellipse.m index ba9370c..934c70e 100644 --- a/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Ellipse.m +++ b/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Ellipse.m @@ -17,7 +17,7 @@ % add 'plot' as the final argument % >> Extr_Data_Ellipse(5,2,60,315,1,'plot') -% Copyright 2012-2022 The MathWorks, Inc. +% Copyright 2012-2023 The MathWorks, Inc. % Default data to show diagram if (nargin == 0) diff --git a/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Frustum_Conical.m b/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Frustum_Conical.m index 48a0a68..bfb1f9f 100644 --- a/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Frustum_Conical.m +++ b/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Frustum_Conical.m @@ -16,7 +16,7 @@ % add 'plot' as the final argument % >> Extr_Data_Frustum_Conical(5,60,4,4,'plot') -% Copyright 2017-2022 The MathWorks, Inc. +% Copyright 2017-2023 The MathWorks, Inc. % Default data to show diagram showplot = 'n'; diff --git a/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Link2Hole.m b/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Link2Hole.m index f42a4c4..195a28b 100644 --- a/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Link2Hole.m +++ b/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Link2Hole.m @@ -15,7 +15,7 @@ % add 'plot' as the final argument % >> Extr_Data_Link2Hole(10,5,2,'plot') -% Copyright 2012-2022 The MathWorks, Inc. +% Copyright 2012-2023 The MathWorks, Inc. % Default data to show diagram if (nargin == 0) diff --git a/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_LinkHoles.m b/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_LinkHoles.m index ee6f7d1..80dd9af 100644 --- a/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_LinkHoles.m +++ b/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_LinkHoles.m @@ -17,7 +17,7 @@ % add 'plot' as the final argument % >> Extr_Data_LinkHoles(10,5,1,3,'plot') % -% Copyright 2014-2022 The MathWorks, Inc. +% Copyright 2014-2023 The MathWorks, Inc. % Default data to show diagram if (nargin == 0) diff --git a/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Ring.m b/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Ring.m index a51f881..bddd308 100644 --- a/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Ring.m +++ b/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_Ring.m @@ -16,7 +16,7 @@ % add 'plot' as the final argument % >> Extr_Data_Ring(10,5,45,315,'plot') -% Copyright 2012-2022 The MathWorks, Inc. +% Copyright 2012-2023 The MathWorks, Inc. % Default data to show diagram if (nargin == 0) diff --git a/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_TriangleRounded_Holes.m b/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_TriangleRounded_Holes.m index 97557a0..7b1a191 100644 --- a/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_TriangleRounded_Holes.m +++ b/Libraries/CFL_Core/Libraries/Extrusions/Extr_Data_TriangleRounded_Holes.m @@ -19,7 +19,7 @@ % add 'plot' as the final argument % >> Extr_Data_TriangleRounded_Holes(6,4,0.33,1,2,'plot') % -% Copyright 2014-2022 The MathWorks, Inc. +% Copyright 2014-2023 The MathWorks, Inc. % Default data to show diagram if (nargin == 0) diff --git a/Libraries/CFL_Core/Libraries/Help/Box_to_Belt_Contact.m b/Libraries/CFL_Core/Libraries/Help/Box_to_Belt_Contact.m index 3356166..ab4a871 100644 --- a/Libraries/CFL_Core/Libraries/Help/Box_to_Belt_Contact.m +++ b/Libraries/CFL_Core/Libraries/Help/Box_to_Belt_Contact.m @@ -6,7 +6,7 @@ % % This is part of the % -% Copyright 2014-2022 The MathWorks, Inc. +% Copyright 2014-2023 The MathWorks, Inc. diff --git a/Libraries/CFL_Core/Libraries/Help/Box_to_Box_Contact.m b/Libraries/CFL_Core/Libraries/Help/Box_to_Box_Contact.m index 5a0a7bd..b8a8193 100644 --- a/Libraries/CFL_Core/Libraries/Help/Box_to_Box_Contact.m +++ b/Libraries/CFL_Core/Libraries/Help/Box_to_Box_Contact.m @@ -4,7 +4,7 @@ % % This is part of the % -% Copyright 2014-2022 The MathWorks, Inc. +% Copyright 2014-2023 The MathWorks, Inc. diff --git a/Libraries/CFL_Core/Libraries/Help/Box_to_Box_Contact_Forces_BoxB_Corners.m b/Libraries/CFL_Core/Libraries/Help/Box_to_Box_Contact_Forces_BoxB_Corners.m index 7b58be3..a7e4a95 100644 --- a/Libraries/CFL_Core/Libraries/Help/Box_to_Box_Contact_Forces_BoxB_Corners.m +++ b/Libraries/CFL_Core/Libraries/Help/Box_to_Box_Contact_Forces_BoxB_Corners.m @@ -5,7 +5,7 @@ % % This is part of the % -% Copyright 2014-2022 The MathWorks, Inc. +% Copyright 2014-2023 The MathWorks, Inc. diff --git a/Libraries/CFL_Core/Libraries/Help/Box_to_Box_Contact_Forces_BoxF_Corners.m b/Libraries/CFL_Core/Libraries/Help/Box_to_Box_Contact_Forces_BoxF_Corners.m index 4f18b49..ec4a47e 100644 --- a/Libraries/CFL_Core/Libraries/Help/Box_to_Box_Contact_Forces_BoxF_Corners.m +++ b/Libraries/CFL_Core/Libraries/Help/Box_to_Box_Contact_Forces_BoxF_Corners.m @@ -5,7 +5,7 @@ % % This is part of the % -% Copyright 2014-2022 The MathWorks, Inc. +% Copyright 2014-2023 The MathWorks, Inc. diff --git a/Libraries/CFL_Core/Libraries/Help/Circle_to_Circle_Contact.m b/Libraries/CFL_Core/Libraries/Help/Circle_to_Circle_Contact.m index 36a6544..b8023ed 100644 --- a/Libraries/CFL_Core/Libraries/Help/Circle_to_Circle_Contact.m +++ b/Libraries/CFL_Core/Libraries/Help/Circle_to_Circle_Contact.m @@ -5,7 +5,7 @@ % % This is part of the % -% Copyright 2014-2022 The MathWorks, Inc. +% Copyright 2014-2023 The MathWorks, Inc. diff --git a/Libraries/CFL_Core/Libraries/Help/Circle_to_Finite_Line_Contact.m b/Libraries/CFL_Core/Libraries/Help/Circle_to_Finite_Line_Contact.m index 6404e98..343b673 100644 --- a/Libraries/CFL_Core/Libraries/Help/Circle_to_Finite_Line_Contact.m +++ b/Libraries/CFL_Core/Libraries/Help/Circle_to_Finite_Line_Contact.m @@ -5,7 +5,7 @@ % % This is part of the % -% Copyright 2014-2022 The MathWorks, Inc. +% Copyright 2014-2023 The MathWorks, Inc. diff --git a/Libraries/CFL_Core/Libraries/Help/Circle_to_Ring_Contact.m b/Libraries/CFL_Core/Libraries/Help/Circle_to_Ring_Contact.m index 598f82f..026284b 100644 --- a/Libraries/CFL_Core/Libraries/Help/Circle_to_Ring_Contact.m +++ b/Libraries/CFL_Core/Libraries/Help/Circle_to_Ring_Contact.m @@ -5,7 +5,7 @@ % % This is part of the % -% Copyright 2014-2022 The MathWorks, Inc. +% Copyright 2014-2023 The MathWorks, Inc. diff --git a/Libraries/CFL_Core/Libraries/Help/Contact_Forces_Library_Use.m b/Libraries/CFL_Core/Libraries/Help/Contact_Forces_Library_Use.m index 7de874d..41a76a7 100644 --- a/Libraries/CFL_Core/Libraries/Help/Contact_Forces_Library_Use.m +++ b/Libraries/CFL_Core/Libraries/Help/Contact_Forces_Library_Use.m @@ -1,6 +1,6 @@ %% Using the Simscape Multibody Contact Forces Library % -% Copyright 2014-2022 The MathWorks, Inc. +% Copyright 2014-2023 The MathWorks, Inc. diff --git a/Libraries/CFL_Core/Libraries/Help/Face_to_Plane_Contact.m b/Libraries/CFL_Core/Libraries/Help/Face_to_Plane_Contact.m index 5a21d3d..7eafb8f 100644 --- a/Libraries/CFL_Core/Libraries/Help/Face_to_Plane_Contact.m +++ b/Libraries/CFL_Core/Libraries/Help/Face_to_Plane_Contact.m @@ -7,7 +7,7 @@ % % This is part of the % -% Copyright 2014-2022 The MathWorks, Inc. +% Copyright 2014-2023 The MathWorks, Inc. diff --git a/Libraries/CFL_Core/Libraries/Help/Force_Laws.m b/Libraries/CFL_Core/Libraries/Help/Force_Laws.m index 0df583f..b66303e 100644 --- a/Libraries/CFL_Core/Libraries/Help/Force_Laws.m +++ b/Libraries/CFL_Core/Libraries/Help/Force_Laws.m @@ -4,7 +4,7 @@ % . It applies for 2D and 3D contact forces. % -% Copyright 2014-2022 The MathWorks, Inc. +% Copyright 2014-2023 The MathWorks, Inc. diff --git a/Libraries/CFL_Core/Libraries/Help/Friction_Laws.m b/Libraries/CFL_Core/Libraries/Help/Friction_Laws.m index c5d1259..d7fd7cc 100644 --- a/Libraries/CFL_Core/Libraries/Help/Friction_Laws.m +++ b/Libraries/CFL_Core/Libraries/Help/Friction_Laws.m @@ -4,7 +4,7 @@ % . It applies for 2D and 3D contact forces. % -% Copyright 2014-2022 The MathWorks, Inc. +% Copyright 2014-2023 The MathWorks, Inc. diff --git a/Libraries/CFL_Core/Libraries/Help/Sphere_in_Sphere_Contact.m b/Libraries/CFL_Core/Libraries/Help/Sphere_in_Sphere_Contact.m index 2333ac7..e921b98 100644 --- a/Libraries/CFL_Core/Libraries/Help/Sphere_in_Sphere_Contact.m +++ b/Libraries/CFL_Core/Libraries/Help/Sphere_in_Sphere_Contact.m @@ -6,7 +6,7 @@ % % This is part of the % -% Copyright 2014-2022 The MathWorks, Inc. +% Copyright 2014-2023 The MathWorks, Inc. diff --git a/Libraries/CFL_Core/Libraries/Help/Sphere_to_Belt_Contact.m b/Libraries/CFL_Core/Libraries/Help/Sphere_to_Belt_Contact.m index 1cb8518..b537506 100644 --- a/Libraries/CFL_Core/Libraries/Help/Sphere_to_Belt_Contact.m +++ b/Libraries/CFL_Core/Libraries/Help/Sphere_to_Belt_Contact.m @@ -6,7 +6,7 @@ % % This is part of the % -% Copyright 2014-2022 The MathWorks, Inc. +% Copyright 2014-2023 The MathWorks, Inc. diff --git a/Libraries/CFL_Core/Libraries/Help/Sphere_to_Cone_Contact.m b/Libraries/CFL_Core/Libraries/Help/Sphere_to_Cone_Contact.m index f93167d..a317daa 100644 --- a/Libraries/CFL_Core/Libraries/Help/Sphere_to_Cone_Contact.m +++ b/Libraries/CFL_Core/Libraries/Help/Sphere_to_Cone_Contact.m @@ -5,7 +5,7 @@ % % This is part of the % -% Copyright 2014-2022 The MathWorks, Inc. +% Copyright 2014-2023 The MathWorks, Inc. diff --git a/Libraries/CFL_Core/Libraries/Help/Sphere_to_Plane_Contact.m b/Libraries/CFL_Core/Libraries/Help/Sphere_to_Plane_Contact.m index cb346f7..bce6b5c 100644 --- a/Libraries/CFL_Core/Libraries/Help/Sphere_to_Plane_Contact.m +++ b/Libraries/CFL_Core/Libraries/Help/Sphere_to_Plane_Contact.m @@ -5,7 +5,7 @@ % % This is part of the % -% Copyright 2014-2022 The MathWorks, Inc. +% Copyright 2014-2023 The MathWorks, Inc. diff --git a/Libraries/CFL_Core/Libraries/Help/Sphere_to_Sphere_Contact.m b/Libraries/CFL_Core/Libraries/Help/Sphere_to_Sphere_Contact.m index 38d9c9c..d85d23b 100644 --- a/Libraries/CFL_Core/Libraries/Help/Sphere_to_Sphere_Contact.m +++ b/Libraries/CFL_Core/Libraries/Help/Sphere_to_Sphere_Contact.m @@ -4,7 +4,7 @@ % % This is part of the % -% Copyright 2014-2022 The MathWorks, Inc. +% Copyright 2014-2023 The MathWorks, Inc. diff --git a/Libraries/CFL_Core/Libraries/Help/Sphere_to_Tube_Contact.m b/Libraries/CFL_Core/Libraries/Help/Sphere_to_Tube_Contact.m index 37a5d22..ef56b55 100644 --- a/Libraries/CFL_Core/Libraries/Help/Sphere_to_Tube_Contact.m +++ b/Libraries/CFL_Core/Libraries/Help/Sphere_to_Tube_Contact.m @@ -5,7 +5,7 @@ % % This is part of the % -% Copyright 2014-2022 The MathWorks, Inc. +% Copyright 2014-2023 The MathWorks, Inc. diff --git a/Libraries/CFL_Core/Libraries/Help/html/Box_to_Belt_Contact.html b/Libraries/CFL_Core/Libraries/Help/html/Box_to_Belt_Contact.html index 2608b96..f631f6c 100644 --- a/Libraries/CFL_Core/Libraries/Help/html/Box_to_Belt_Contact.html +++ b/Libraries/CFL_Core/Libraries/Help/html/Box_to_Belt_Contact.html @@ -66,7 +66,7 @@ -

Box to Belt Contact Forces (2D)

This block models planar contact forces between a box and a conveyor belt. The conveyor belt moves at the speed specified by the input signal in m/s.

This is part of the Simscape Multibody Contact Forces Library

Frames connected to ports:

  1. Located at center of box and belt
  2. Box and belt are in XY plane of frame

Output signal is a bus with intermediate calculations and total force.

This block models planar contact forces between a box and a conveyor belt. The conveyor belt moves at the speed specified by the input signal in m/s.

This is part of the Simscape Multibody Contact Forces Library

Frames connected to ports:

  1. Located at center of box and belt
  2. Box and belt are in XY plane of frame

Output signal is a bus with intermediate calculations and total force.

This subsystem models planar contact forces between two boxes.

This is part of the Simscape Multibody Contact Forces Library

Frames connected to ports:

  1. Located at center of boxes
  2. Box is in XY plane of frame

Output signal is a bus with intermediate calculations and total force.

This subsystem models planar contact forces between two boxes.

This is part of the Simscape Multibody Contact Forces Library

Frames connected to ports:

  1. Located at center of boxes
  2. Box is in XY plane of frame

Output signal is a bus with intermediate calculations and total force.

This subsystem models planar contact forces the corners of the Base box and the faces of the Follower Box. It is used within the Box to Box Contact Force

This is part of the Simscape Multibody Contact Forces Library

Frames connected to ports:

  1. Located at center of boxes
  2. Box is in XY plane of frame

Output signal is a bus with intermediate calculations and total force.

This subsystem models planar contact forces the corners of the Base box and the faces of the Follower Box. It is used within the Box to Box Contact Force

This is part of the Simscape Multibody Contact Forces Library

Frames connected to ports:

  1. Located at center of boxes
  2. Box is in XY plane of frame

Output signal is a bus with intermediate calculations and total force.

This subsystem models planar contact forces the corners of the Follower box and the faces of the Base Box. It is used within the Box to Box Contact Force

This is part of the Simscape Multibody Contact Forces Library

Frames connected to ports:

  1. Located at center of boxes
  2. Box is in XY plane of frame

Output signal is a bus with intermediate calculations and total force.

This subsystem models planar contact forces the corners of the Follower box and the faces of the Base Box. It is used within the Box to Box Contact Force

This is part of the Simscape Multibody Contact Forces Library

Frames connected to ports:

  1. Located at center of boxes
  2. Box is in XY plane of frame

Output signal is a bus with intermediate calculations and total force.

This block implements a 2D contact force between two circles. It acts to repel frames CirB and CirF.

This is part of the Simscape Multibody Contact Forces Library

Frames connected to ports:

  1. Located at center of circle
  2. Circle is in XY plane of frame
  3. Active range: counter-clockwise from -x axis of CirB

Output signal is a bus with intermediate calculations and total force.

This block implements a 2D contact force between two circles. It acts to repel frames CirB and CirF.

This is part of the Simscape Multibody Contact Forces Library

Frames connected to ports:

  1. Located at center of circle
  2. Circle is in XY plane of frame
  3. Active range: counter-clockwise from -x axis of CirB

Output signal is a bus with intermediate calculations and total force.

This block implements a 2D contact force between a circle and a finite line. The force is active above and below the line.

This is part of the Simscape Multibody Contact Forces Library

Frame connected to LinB port:

  1. Located at midpoint of line.
  2. X-axis is normal to the finite line.
  3. Y-axis is along the finite line.

Frame connected to the CirF port:

  1. Z-axis aligned with frame attached to LinB port.

Output signal is a bus with intermediate calculations and total force.

This block implements a 2D contact force between a circle and a finite line. The force is active above and below the line.

This is part of the Simscape Multibody Contact Forces Library

Frame connected to LinB port:

  1. Located at midpoint of line.
  2. X-axis is normal to the finite line.
  3. Y-axis is along the finite line.

Frame connected to the CirF port:

  1. Z-axis aligned with frame attached to LinB port.

Output signal is a bus with intermediate calculations and total force.

This block implements a 2D contact force between a circle and a ring. The force is active on the outside and the inside of the ring.

This is part of the Simscape Multibody Contact Forces Library

Frames connected to ports:

  1. Located at center of circle/ring
  2. Circle/Ring is in XY plane of frame
  3. Active range: counter-clockwise from -x axis of RinB

Output signal is a bus with intermediate calculations and total force.

This block implements a 2D contact force between a circle and a ring. The force is active on the outside and the inside of the ring.

This is part of the Simscape Multibody Contact Forces Library

Frames connected to ports:

  1. Located at center of circle/ring
  2. Circle/Ring is in XY plane of frame
  3. Active range: counter-clockwise from -x axis of RinB

Output signal is a bus with intermediate calculations and total force.

This subsystem implements a contact force between a plane and a square face. The plane is assumed significantly larger than the face such that the edges will never intersect. The force is active above and below the plane and face.

This is part of the Simscape Multibody Contact Forces Library

Frame connected to PlaB port:

  1. Located at midpoint of plane (x, y, and z).
  2. Z-axis is normal to the surfaces where force is active.

Frame connected to the FacF port:

  1. Located at midpoint of box (x, y, and z).
  2. Z-axis is normal to the surfaces where force is active.

Output signal is a bus with intermediate calculations and total force.

This subsystem implements a contact force between a plane and a square face. The plane is assumed significantly larger than the face such that the edges will never intersect. The force is active above and below the plane and face.

This is part of the Simscape Multibody Contact Forces Library

Frame connected to PlaB port:

  1. Located at midpoint of plane (x, y, and z).
  2. Z-axis is normal to the surfaces where force is active.

Frame connected to the FacF port:

  1. Located at midpoint of box (x, y, and z).
  2. Z-axis is normal to the surfaces where force is active.

Output signal is a bus with intermediate calculations and total force.

The diagrams and text below describe the configurable force laws in the Simscape Multibody Contact Forces Library. It applies for 2D and 3D contact forces.

You can also create your own customized force law:

Add your own in Simulink: Edit Custom Force Law

See also friction law documentation

The diagrams and text below describe the configurable force laws in the Simscape Multibody Contact Forces Library. It applies for 2D and 3D contact forces.

You can also create your own customized force law:

Add your own in Simulink: Edit Custom Force Law

See also friction law documentation

The diagrams and text below describe the configurable friction force laws in the Simscape Multibody Contact Forces Library. It applies for 2D and 3D contact forces.

The diagrams and text below describe the configurable friction force laws in the Simscape Multibody Contact Forces Library. It applies for 2D and 3D contact forces.

This block implements a contact force between two spheres. The force acts to keep distance from frame SphB to SphF less than (inner radius SphB - radius SphF).

This is part of the Simscape Multibody Contact Forces Library

Frames connected to ports:

  1. Located at center of sphere
  2. Orientation does not matter

Output signal is a bus with intermediate calculations and total force.

This block implements a contact force between two spheres. The force acts to keep distance from frame SphB to SphF less than (inner radius SphB - radius SphF).

This is part of the Simscape Multibody Contact Forces Library

Frames connected to ports:

  1. Located at center of sphere
  2. Orientation does not matter

Output signal is a bus with intermediate calculations and total force.

This block implements a contact force between a sphere and a moving belt with round ends. The force is active above and below the belt.

This is part of the Simscape Multibody Contact Forces Library

Frame connected to BelB port:

  1. Located at midpoint of plane (x, y, and z).
  2. Z-axis is normal to the surfaces where force is active.

Frame connected to the SphF port:

  1. Located at center of sphere.
  2. Orientation does not matter.

Output signal is a bus with intermediate calculations and total force.

Input signal is a bus that enables the force and controls belt speed.

This block implements a contact force between a sphere and a moving belt with round ends. The force is active above and below the belt.

This is part of the Simscape Multibody Contact Forces Library

Frame connected to BelB port:

  1. Located at midpoint of plane (x, y, and z).
  2. Z-axis is normal to the surfaces where force is active.

Frame connected to the SphF port:

  1. Located at center of sphere.
  2. Orientation does not matter.

Output signal is a bus with intermediate calculations and total force.

Input signal is a bus that enables the force and controls belt speed.

This block implements a contact force between a sphere and a cone. The force is active outside and inside the cone.

This is part of the Simscape Multibody Contact Forces Library

Frame connected to ConB port:

  1. Located at widest end of the cone
  2. Z-axis is aligned with the cone axis
  3. Active range: counter-clockwise from -x axis of ConB

Frame connected to SphF port:

  1. Located at center of sphere
  2. Orientation does not matter

Output signal is a bus with intermediate calculations and total force.

This block implements a contact force between a sphere and a cone. The force is active outside and inside the cone.

This is part of the Simscape Multibody Contact Forces Library

Frame connected to ConB port:

  1. Located at widest end of the cone
  2. Z-axis is aligned with the cone axis
  3. Active range: counter-clockwise from -x axis of ConB

Frame connected to SphF port:

  1. Located at center of sphere
  2. Orientation does not matter

Output signal is a bus with intermediate calculations and total force.

This block implements a contact force between a sphere and a plane. The force is active above and below the plane.

This is part of the Simscape Multibody Contact Forces Library

Frame connected to PlaB port:

  1. Located at midpoint of plane (x, y, and z).
  2. Z-axis is normal to the surfaces where force is active.

Frame connected to the SphF port:

  1. Located at center of sphere.
  2. Orientation does not matter.

Output signal is a bus with intermediate calculations and total force.

This block implements a contact force between a sphere and a plane. The force is active above and below the plane.

This is part of the Simscape Multibody Contact Forces Library

Frame connected to PlaB port:

  1. Located at midpoint of plane (x, y, and z).
  2. Z-axis is normal to the surfaces where force is active.

Frame connected to the SphF port:

  1. Located at center of sphere.
  2. Orientation does not matter.

Output signal is a bus with intermediate calculations and total force.

This subsystem implements a contact force between two spheres. It acts to repel frames SphB and SphF.

This is part of the Simscape Multibody Contact Forces Library

Frames connected to ports:

  1. Located at center of sphere
  2. Orientation does not matter

Output signal is a bus with intermediate calculations and total force.

This subsystem implements a contact force between two spheres. It acts to repel frames SphB and SphF.

This is part of the Simscape Multibody Contact Forces Library

Frames connected to ports:

  1. Located at center of sphere
  2. Orientation does not matter

Output signal is a bus with intermediate calculations and total force.

This block implements a contact force between a sphere and a tube. The force is active outside and inside the tube.

This is part of the Simscape Multibody Contact Forces Library

Frame connected to TubB port:

  1. Located at midpoint of the tube axis
  2. Z-axis is aligned with the tube axis
  3. Active range: counter-clockwise from -x axis of TubB

Frame connected to SphF port:

  1. Located at center of sphere
  2. Orientation does not matter

Output signal is a bus with intermediate calculations and total force.

This block implements a contact force between a sphere and a tube. The force is active outside and inside the tube.

This is part of the Simscape Multibody Contact Forces Library

Frame connected to TubB port:

  1. Located at midpoint of the tube axis
  2. Z-axis is aligned with the tube axis
  3. Active range: counter-clockwise from -x axis of TubB

Frame connected to SphF port:

  1. Located at center of sphere
  2. Orientation does not matter

Output signal is a bus with intermediate calculations and total force.

Simscape Multibody Contact Forces Library -

Copyright 2014-2022 The MathWorks™, Inc.

youBot Arm

youBot Arm

This examples models a robotic arm and two conveyor belts. One conveyor belts bring blocks to the robot. The robot grabs the block, flips it over and transfers it to another conveyor belt which transports it away from the robot.

This example can be used to determine requirements for electrical and mechanical design, detect integration issues, design and test control logic, and optimize path planning.

Contents

Model

The top level of the model contains hyperlinks that configure the model according to the test you wish to perform. The default test is for the entire system (robot arm and conveyor belts).

Box transfer tests can be run to determine the amount of power required for a specific manipulator trajectory.

Joint tests can be run to determine required motor torque and the forces that the bearings will experience.

Arm Subsystem

This subsystem includes the robot arm which was imported from CAD software, the joint actuators, and the environment surrounding the robot. Hyperlinks at this level configure the robot joints to use prescribed motion (Motion), or modeled as a connected electrical network (Motor). Motion actuation is typically used to determine torque requirements for the motor, and based on those requirements the motors in the electrical network can be selected.

Open Subsystem

Actuation Subsystem, Motion Variant

This variant includes the robot arm joints which were imported from CAD. They have been configured to use prescribed motion, where the angle for the joint is specified by an input signal. The simulation calculates the torque required to produce this motion. The radial and axial forces for the motor bearings are also calculated for each joint. This information is useful to refine the requirements for the motor, gear boxes, and the mechanical requirements for the bearings.

Open Subsystem

Actuation Subsystem, Motor Variant

This variant includes the electrical network which provides the power to actuate each joint. The joint definitions were imported from a CAD assembly.

The actuators can be configured to use prescribed motion and estimate the current draw (Ideal), or the joints can be driven by electrical motors (Motor). Clicking on the hyperlinks will change multiple motors at the same time. The motors can be configured individually (Ideal or Motor) by right-clicking on the block and overriding the subsystem variant. This permits very focused testing on individual joints or joint combinations.

Open Subsystem

Forearm Motor Actuation, Ideal Variant

This variant is used to determine the requirements for the electrical system. The joints are driven using prescribed motion, and the simulation calculates the torque required to produce this motion. The radial and axial forces for the motor bearings are also calculated for each joint. This information is useful to refine the requirements for the motor.

This variant also estimates the amount of electrical power required to produce this motion using the actuation torque. Each joint draws current from the power supply, making it possible to determine the requirements for power connections and the supply. The current estimation used here requires selecting a gear ratio, motor torque constant, and an armature resistance. The absolute value of the actuation torque is used because though the actuation torque can switch sign, current is always drawn from the power supply.

Open Subsystem

Forearm Motor Actuation, Motor Variant: Motor - Joint Interface

This variant actuates the robot arm joints using an electrical actuator. At this level, the connection between the motor and the robot joint is shown.

This variant does not use prescribed motion. Torque provided by the electrical model of the motor is applied to the joint. The rotational speed of the electrical motor and joint are forced to be identical during simulation to ensure that the physics is accurate.

Open Subsystem

Forearm Motor Actuation, Motor Variant: Motor Subsystem

This subsystem models the motor controller, motor drive circuit, motor, gearbox, and motor friction. Parameter values for the motor are taken directly from manufacturer data sheets (see model parameters).

Open Subsystem

Forearm Motor Actuation, Motor Variant: Motor Control

This subsystem implements the control system for the motor. A simple bang-bang controller based on position error is used. A deadzone prevents chattering in the system. More complex control algorithms can be substituted here.

Open Subsystem

Environment Subsystem

This subsystem models the environment surrounding the robot arm. It includes two conveyor belts and a load.

Hyperlinks at this level configure the connection between the gripper and the load. Clicking on hyperlink Payload will assume the load is rigidly attached to the gripper. Hyperlinks Damping and Penalty each model a contact force between the gripper and the load at two levels of fidelity. Clicking on these hyperlinks adjusts variant subsystems Load and Gripper Force simultaneously to ensure the selected variants are compatible. These settings are selected based on the test that is performed. The only one that should be overriden manually is switching between variants Damper and Penalty for the Gripper Force subsystem when the Box variant is selected for the Load subsystem.

Open Subsystem

Belt In Subsystem

This subsystem models the conveyor belt, contact force between the box and the belt, and the light curtain at the end of the belt.

The conveyor belt is driven at speed vx. The motor driving the belt is not modeled. The rollers rotate to simply give a visual indication that the belt is on.

The contact force is active if the upper or lower surface of the belt encounters the bottom face of the box. The calculated normal force is used to model a sensor that will detect if a box is on the belt. This signal is sent to the supervisory logic controller for the system. The only difference between Belt In and Belt Out is in the contact force - in Belt Out, the contact force is modeled between the belt and the top face of the box.

The light curtain detects if the box is blocking any of its beams and sends a signal to the logic controller.

Transform Sensor EE measures the x-y-z position of the end effector and saves it to the workspace. This quantity is used for plotting purposes, both during normal desktop simulation and it is saved during the optimization tests to show the set of trajectories tested.

Open Subsystem

Gripper Force Subsystem

This subsystem shows the three variants for the gripper force. These variants are selected using the hyperlinks one level higher in the model or by using the hyperlinks at the top level that configure the test.

Open Subsystem

Gripper Force Subsystem, Damper Variant

This subsystem models the contact force between the gripper and the box as a very stiff damper that is only active when the box is grasped by the gripper fingers. The force subsystem measures the displacement between a reference frame on the gripper and the box to determine if the gripper could grab the box. If it can, the damper becomes active.

This is an abstract representation of the force. The simplifying assumptions is computationally very efficient. It assumes the box will slip very, very slowly with respect to the gripper. It does not consider the exact geometry of the fingers or the gripper itself - a misaligned box can be grasped using this force.

There are two methods for measuring the velocity of the box along the normal of the gripper fingers. One measures it with respect to a reference frame on the gripper housing. The other takes the difference of relative velocity with respect to each finger, allowing the box to move relative to the gripper housing.

Open Subsystem

Gripper Force Subsystem, Penalty Variant

This subsystem models the contact force between the gripper and the box as a stiff spring-damper between multiple points on the gripper finger and a square surface on the box. This requires more computation, but is a more realistic way to model the contact force. It can model cases where the box and the gripper are misaligned.

Open Subsystem

Input Subsystem

This variant subsystem configures the inputs to the robot arm system. The variants are configured to permit unit testing of individual components of the system.

The Control variant implements the supervisory logic for the entire system. The Signals variant is an open loop test that can actuate any or all of the joints and the conveyor belts. The Splines variant is used to test trajectories for transferring the box from one belt to the other. The Control Belt variant permits closed loop testing of the conveyor belts and open loop testing of the robot arm.

Open Subsystem

Logic Subsystem

This state chart implements the supervisory logic for the robot arm, robot gripper, and both conveyor belts. Information from sensors in the model come in as input signals, and outputs from the state chart will control movement of the robot arm and conveyor belts. During simulation, the state chart is animated to show the active state in each chart.

All four state charts are interconnected. Events in one state chart trigger actions in others. For example, in state chart BeltIn, when the light curtain on the belt is blocked, input BeltIn_LC=0. That condition permits the BeltIn state chart to transition to state BoxReady. As the BeltIn state chart transitions to state BoxReady, the belt will be turned off (BeltIn_En=0). The event GetBox will be broadcast to state chart Robot, which causes that state chart to transition from StartHome or Home to GoBeltIn. Entering state GoBeltIn sets output Way, which controls the commands sent to the robot joints.

Open Subsystem

Simulation Results from Simscape Logging

The plot below shows the current drawn by all motors in the youBot robotic arm.

The plot below shows the 3D trajectory of the box moved by the youBot robotic arm.

The plot below shows the torque or force for each motor in the youBot robotic arm.

The plot below shows the positions of the joints in the youBot robotic arm.

The plot below shows the constraint forces for each joint in the youBot robotic arm.

+youBot Arm + + + + + + + +
+

youBot Arm

+ +

This examples models a robotic arm and two conveyor belts. One conveyor belts bring blocks to the robot. The robot grabs the block, flips it over and transfers it to another conveyor belt which transports it away from the robot.

+

This example can be used to determine requirements for electrical and mechanical design, detect integration issues, design and test control logic, and optimize path planning.

+ +

Contents

+ +

Model

+

The top level of the model contains hyperlinks that configure the model according to the test you wish to perform. The default test is for the entire system (robot arm and conveyor belts).

+

Box transfer tests can be run to determine the amount of power required for a specific manipulator trajectory.

+

Joint tests can be run to determine required motor torque and the forces that the bearings will experience.

+

Arm Subsystem

+

This subsystem includes the robot arm which was imported from CAD software, the joint actuators, and the environment surrounding the robot. Hyperlinks at this level configure the robot joints to use prescribed motion (Motion), or modeled as a connected electrical network (Motor). Motion actuation is typically used to determine torque requirements for the motor, and based on those requirements the motors in the electrical network can be selected.

+

+Open Subsystem +

+

Actuation Subsystem, Motion Variant

+

This variant includes the robot arm joints which were imported from CAD. They have been configured to use prescribed motion, where the angle for the joint is specified by an input signal. The simulation calculates the torque required to produce this motion. The radial and axial forces for the motor bearings are also calculated for each joint. This information is useful to refine the requirements for the motor, gear boxes, and the mechanical requirements for the bearings.

+

+Open Subsystem +

+

Actuation Subsystem, Motor Variant

+

This variant includes the electrical network which provides the power to actuate each joint. The joint definitions were imported from a CAD assembly.

+

The actuators can be configured to use prescribed motion and estimate the current draw (Ideal), or the joints can be driven by electrical motors (Motor). Clicking on the hyperlinks will change multiple motors at the same time. The motors can be configured individually (Ideal or Motor) by right-clicking on the block and overriding the subsystem variant. This permits very focused testing on individual joints or joint combinations.

+

+Open Subsystem +

+

Forearm Motor Actuation, Ideal Variant

+

This variant is used to determine the requirements for the electrical system. The joints are driven using prescribed motion, and the simulation calculates the torque required to produce this motion. The radial and axial forces for the motor bearings are also calculated for each joint. This information is useful to refine the requirements for the motor.

+

This variant also estimates the amount of electrical power required to produce this motion using the actuation torque. Each joint draws current from the power supply, making it possible to determine the requirements for power connections and the supply. The current estimation used here requires selecting a gear ratio, motor torque constant, and an armature resistance. The absolute value of the actuation torque is used because though the actuation torque can switch sign, current is always drawn from the power supply.

+

+Open Subsystem +

+

Forearm Motor Actuation, Motor Variant: Motor - Joint Interface

+

This variant actuates the robot arm joints using an electrical actuator. At this level, the connection between the motor and the robot joint is shown.

+

This variant does not use prescribed motion. Torque provided by the electrical model of the motor is applied to the joint. The rotational speed of the electrical motor and joint are forced to be identical during simulation to ensure that the physics is accurate.

+

+Open Subsystem +

+

Forearm Motor Actuation, Motor Variant: Motor Subsystem

+

This subsystem models the motor controller, motor drive circuit, motor, gearbox, and motor friction. Parameter values for the motor are taken directly from manufacturer data sheets (see model parameters).

+

+Open Subsystem +

+

Forearm Motor Actuation, Motor Variant: Motor Control

+

This subsystem implements the control system for the motor. A simple bang-bang controller based on position error is used. A deadzone prevents chattering in the system. More complex control algorithms can be substituted here.

+

+Open Subsystem +

+

Environment Subsystem

+

This subsystem models the environment surrounding the robot arm. It includes two conveyor belts and a load.

+

Hyperlinks at this level configure the connection between the gripper and the load. Clicking on hyperlink Payload will assume the load is rigidly attached to the gripper. Hyperlinks Damping and Penalty each model a contact force between the gripper and the load at two levels of fidelity. Clicking on these hyperlinks adjusts variant subsystems Load and Gripper Force simultaneously to ensure the selected variants are compatible. These settings are selected based on the test that is performed. The only one that should be overriden manually is switching between variants Damper and Penalty for the Gripper Force subsystem when the Box variant is selected for the Load subsystem.

+

+Open Subsystem +

+

Belt In Subsystem

+

This subsystem models the conveyor belt, contact force between the box and the belt, and the light curtain at the end of the belt.

+

The conveyor belt is driven at speed vx. The motor driving the belt is not modeled. The rollers rotate to simply give a visual indication that the belt is on.

+

The contact force is active if the upper or lower surface of the belt encounters the bottom face of the box. The calculated normal force is used to model a sensor that will detect if a box is on the belt. This signal is sent to the supervisory logic controller for the system. The only difference between Belt In and Belt Out is in the contact force - in Belt Out, the contact force is modeled between the belt and the top face of the box.

+

The light curtain detects if the box is blocking any of its beams and sends a signal to the logic controller.

+

Transform Sensor EE measures the x-y-z position of the end effector and saves it to the workspace. This quantity is used for plotting purposes, both during normal desktop simulation and it is saved during the optimization tests to show the set of trajectories tested.

+

+Open Subsystem +

+

Gripper Force Subsystem

+

This subsystem shows the three variants for the gripper force. These variants are selected using the hyperlinks one level higher in the model or by using the hyperlinks at the top level that configure the test.

+

+Open Subsystem +

+

Gripper Force Subsystem, Damper Variant

+

This subsystem models the contact force between the gripper and the box as a very stiff damper that is only active when the box is grasped by the gripper fingers. The force subsystem measures the displacement between a reference frame on the gripper and the box to determine if the gripper could grab the box. If it can, the damper becomes active.

+

This is an abstract representation of the force. The simplifying assumptions is computationally very efficient. It assumes the box will slip very, very slowly with respect to the gripper. It does not consider the exact geometry of the fingers or the gripper itself - a misaligned box can be grasped using this force.

+

There are two methods for measuring the velocity of the box along the normal of the gripper fingers. One measures it with respect to a reference frame on the gripper housing. The other takes the difference of relative velocity with respect to each finger, allowing the box to move relative to the gripper housing.

+

+Open Subsystem +

+

Gripper Force Subsystem, Penalty Variant

+

This subsystem models the contact force between the gripper and the box as a stiff spring-damper between multiple points on the gripper finger and a square surface on the box. This requires more computation, but is a more realistic way to model the contact force. It can model cases where the box and the gripper are misaligned.

+

+Open Subsystem +

+

Input Subsystem

+

This variant subsystem configures the inputs to the robot arm system. The variants are configured to permit unit testing of individual components of the system.

+

The Control variant implements the supervisory logic for the entire system. The Signals variant is an open loop test that can actuate any or all of the joints and the conveyor belts. The Splines variant is used to test trajectories for transferring the box from one belt to the other. The Control Belt variant permits closed loop testing of the conveyor belts and open loop testing of the robot arm.

+

+Open Subsystem +

+

Logic Subsystem

+

This state chart implements the supervisory logic for the robot arm, robot gripper, and both conveyor belts. Information from sensors in the model come in as input signals, and outputs from the state chart will control movement of the robot arm and conveyor belts. During simulation, the state chart is animated to show the active state in each chart.

+

All four state charts are interconnected. Events in one state chart trigger actions in others. For example, in state chart BeltIn, when the light curtain on the belt is blocked, input BeltIn_LC=0. That condition permits the BeltIn state chart to transition to state BoxReady. As the BeltIn state chart transitions to state BoxReady, the belt will be turned off (BeltIn_En=0). The event GetBox will be broadcast to state chart Robot, which causes that state chart to transition from StartHome or Home to GoBeltIn. Entering state GoBeltIn sets output Way, which controls the commands sent to the robot joints.

+

+Open Subsystem +

+

Simulation Results from Simscape Logging

+

The plot below shows the current drawn by all motors in the youBot robotic arm.

+

The plot below shows the 3D trajectory of the box moved by the youBot robotic arm.

+

The plot below shows the torque or force for each motor in the youBot robotic arm.

+

The plot below shows the positions of the joints in the youBot robotic arm.

+

The plot below shows the constraint forces for each joint in the youBot robotic arm.

+ +
+ \ No newline at end of file +--> + + diff --git a/Overview/html/youBot_Arm.png b/Overview/html/youBot_Arm.png index e33de66..fd04520 100644 Binary files a/Overview/html/youBot_Arm.png and b/Overview/html/youBot_Arm.png differ diff --git a/Overview/html/youBot_Arm_01.png b/Overview/html/youBot_Arm_01.png index fc427b5..43fdb7f 100644 Binary files a/Overview/html/youBot_Arm_01.png and b/Overview/html/youBot_Arm_01.png differ diff --git a/Overview/html/youBot_Arm_02.png b/Overview/html/youBot_Arm_02.png index 3ebdd39..caa1dde 100644 Binary files a/Overview/html/youBot_Arm_02.png and b/Overview/html/youBot_Arm_02.png differ diff --git a/Overview/html/youBot_Arm_03.png b/Overview/html/youBot_Arm_03.png index 4e7a4e6..c6020b8 100644 Binary files a/Overview/html/youBot_Arm_03.png and b/Overview/html/youBot_Arm_03.png differ diff --git a/Overview/html/youBot_Arm_04.png b/Overview/html/youBot_Arm_04.png index 8db2f6b..4ecf06c 100644 Binary files a/Overview/html/youBot_Arm_04.png and b/Overview/html/youBot_Arm_04.png differ diff --git a/Overview/html/youBot_Arm_05.png b/Overview/html/youBot_Arm_05.png index 2d69e73..7e80dde 100644 Binary files a/Overview/html/youBot_Arm_05.png and b/Overview/html/youBot_Arm_05.png differ diff --git a/Overview/html/youBot_Arm_06.png b/Overview/html/youBot_Arm_06.png index dda2853..4ebd95c 100644 Binary files a/Overview/html/youBot_Arm_06.png and b/Overview/html/youBot_Arm_06.png differ diff --git a/Overview/html/youBot_Arm_07.png b/Overview/html/youBot_Arm_07.png index 5efc17b..5497adf 100644 Binary files a/Overview/html/youBot_Arm_07.png and b/Overview/html/youBot_Arm_07.png differ diff --git a/Overview/html/youBot_Arm_08.png b/Overview/html/youBot_Arm_08.png index fb9f940..2639af0 100644 Binary files a/Overview/html/youBot_Arm_08.png and b/Overview/html/youBot_Arm_08.png differ diff --git a/Overview/html/youBot_Arm_09.png b/Overview/html/youBot_Arm_09.png index b66aa4c..9545827 100644 Binary files a/Overview/html/youBot_Arm_09.png and b/Overview/html/youBot_Arm_09.png differ diff --git a/Overview/html/youBot_Arm_10.png b/Overview/html/youBot_Arm_10.png index 2eb0b6e..97d23dd 100644 Binary files a/Overview/html/youBot_Arm_10.png and b/Overview/html/youBot_Arm_10.png differ diff --git a/Overview/html/youBot_Arm_11.png b/Overview/html/youBot_Arm_11.png index 4909334..3eea6ee 100644 Binary files a/Overview/html/youBot_Arm_11.png and b/Overview/html/youBot_Arm_11.png differ diff --git a/Overview/html/youBot_Arm_12.png b/Overview/html/youBot_Arm_12.png index 9c70e5d..4014a05 100644 Binary files a/Overview/html/youBot_Arm_12.png and b/Overview/html/youBot_Arm_12.png differ diff --git a/Overview/html/youBot_Arm_13.png b/Overview/html/youBot_Arm_13.png index 4d44b8d..37b0f29 100644 Binary files a/Overview/html/youBot_Arm_13.png and b/Overview/html/youBot_Arm_13.png differ diff --git a/Overview/html/youBot_Arm_14.png b/Overview/html/youBot_Arm_14.png index 630a534..21044d3 100644 Binary files a/Overview/html/youBot_Arm_14.png and b/Overview/html/youBot_Arm_14.png differ diff --git a/Overview/html/youBot_Arm_15.png b/Overview/html/youBot_Arm_15.png index 30d8996..948c5e7 100644 Binary files a/Overview/html/youBot_Arm_15.png and b/Overview/html/youBot_Arm_15.png differ diff --git a/Overview/html/youBot_Arm_16.png b/Overview/html/youBot_Arm_16.png index 24d1843..1999180 100644 Binary files a/Overview/html/youBot_Arm_16.png and b/Overview/html/youBot_Arm_16.png differ diff --git a/Overview/html/youBot_Arm_17.png b/Overview/html/youBot_Arm_17.png index baef5fd..b1926f8 100644 Binary files a/Overview/html/youBot_Arm_17.png and b/Overview/html/youBot_Arm_17.png differ diff --git a/Overview/html/youBot_Arm_18.png b/Overview/html/youBot_Arm_18.png index 508277a..08a73fb 100644 Binary files a/Overview/html/youBot_Arm_18.png and b/Overview/html/youBot_Arm_18.png differ diff --git a/Overview/html/youBot_Arm_19.png b/Overview/html/youBot_Arm_19.png index 61ec8c7..d39d362 100644 Binary files a/Overview/html/youBot_Arm_19.png and b/Overview/html/youBot_Arm_19.png differ diff --git a/Overview/html/youBot_Arm_20.png b/Overview/html/youBot_Arm_20.png index 7df15c7..6d6d57e 100644 Binary files a/Overview/html/youBot_Arm_20.png and b/Overview/html/youBot_Arm_20.png differ diff --git a/Overview/html/youBot_Arm_21.png b/Overview/html/youBot_Arm_21.png index 0871909..418c512 100644 Binary files a/Overview/html/youBot_Arm_21.png and b/Overview/html/youBot_Arm_21.png differ diff --git a/Overview/html/youBot_Arm_fullTest.html b/Overview/html/youBot_Arm_fullTest.html index b744af0..62ada1b 100644 --- a/Overview/html/youBot_Arm_fullTest.html +++ b/Overview/html/youBot_Arm_fullTest.html @@ -1,91 +1,141 @@ - - - - - youBot Arm

youBot Arm

This examples models a robotic arm and two conveyor belts. One conveyor belts bring blocks to the robot. The robot grabs the block, flips it over and transfers it to another conveyor belt which transports it away from the robot.

This example can be used to determine requirements for electrical and mechanical design, detect integration issues, design and test control logic, and optimize path planning.

Contents

Model

The top level of the model contains hyperlinks that configure the model according to the test you wish to perform. The default test is for the entire system (robot arm and conveyor belts).

Box transfer tests can be run to determine the amount of power required for a specific manipulator trajectory.

Joint tests can be run to determine required motor torque and the forces that the bearings will experience.

Simulation Results from Simscape Logging

The plot below shows the current drawn by all motors in the youBot robotic arm.

The plot below shows the 3D trajectory of the box moved by the youBot robotic arm.

The plot below shows the torque or force for each motor in the youBot robotic arm.

The plot below shows the positions of the joints in the youBot robotic arm.

The plot below shows the constraint forces for each joint in the youBot robotic arm.

Optimization Results With Friction

-
-Iter     Func-count       f(x)      MeshSize     Method
-    0           1        417.495          0.05      
-    1          25         408.54           0.1     Successful Poll
-    2          49        395.733           0.2     Successful Poll
-    3          50        395.733           0.1     Refine Mesh
-Maximum number of function evaluations exceeded: increase options.MaxFunctionEvaluations.
-Elapsed time is 70.602361 seconds.
-

Optimization Results Without Friction

-
-Iter     Func-count       f(x)      MeshSize     Method
-    0           1        7.92773          0.05      
-    1          25        7.79665           0.1     Successful Poll
-    2          49        7.57462           0.2     Successful Poll
-    3          50        7.57462           0.1     Refine Mesh
-Maximum number of function evaluations exceeded: increase options.MaxFunctionEvaluations.
-Elapsed time is 69.956145 seconds.
-
+youBot Arm + + + + + + + +
+

youBot Arm

+ +

This examples models a robotic arm and two conveyor belts. One conveyor belts bring blocks to the robot. The robot grabs the block, flips it over and transfers it to another conveyor belt which transports it away from the robot.

+

This example can be used to determine requirements for electrical and mechanical design, detect integration issues, design and test control logic, and optimize path planning.

+ +

Contents

+ +

Model

+

The top level of the model contains hyperlinks that configure the model according to the test you wish to perform. The default test is for the entire system (robot arm and conveyor belts).

+

Box transfer tests can be run to determine the amount of power required for a specific manipulator trajectory.

+

Joint tests can be run to determine required motor torque and the forces that the bearings will experience.

+

Simulation Results from Simscape Logging

+

The plot below shows the current drawn by all motors in the youBot robotic arm.

+

The plot below shows the 3D trajectory of the box moved by the youBot robotic arm.

+

The plot below shows the torque or force for each motor in the youBot robotic arm.

+

The plot below shows the positions of the joints in the youBot robotic arm.

+

The plot below shows the constraint forces for each joint in the youBot robotic arm.

+

Optimization Results With Friction

+
+
+Iter     Func-count       f(x)      MeshSize     Method
+    0           1        417.494          0.05      
+    1          25        408.543           0.1     Successful Poll
+    2          49        395.732           0.2     Successful Poll
+    3          50        395.732           0.1     Refine Mesh
+patternsearch stopped because it exceeded options.MaxFunctionEvaluations.
+Elapsed time is 66.056358 seconds.
+
+

Optimization Results Without Friction

+
+
+Iter     Func-count       f(x)      MeshSize     Method
+    0           1        7.92742          0.05      
+    1          25        7.79247           0.1     Successful Poll
+    2          49        7.57392           0.2     Successful Poll
+    3          50        7.57392           0.1     Refine Mesh
+patternsearch stopped because it exceeded options.MaxFunctionEvaluations.
+Elapsed time is 112.636626 seconds.
+
+ +
+ \ No newline at end of file +--> + + diff --git a/Overview/html/youBot_Arm_fullTest.png b/Overview/html/youBot_Arm_fullTest.png index 90fc426..d4b0cd7 100644 Binary files a/Overview/html/youBot_Arm_fullTest.png and b/Overview/html/youBot_Arm_fullTest.png differ diff --git a/Overview/html/youBot_Arm_fullTest_01.png b/Overview/html/youBot_Arm_fullTest_01.png index b2ffc64..3437b5c 100644 Binary files a/Overview/html/youBot_Arm_fullTest_01.png and b/Overview/html/youBot_Arm_fullTest_01.png differ diff --git a/Overview/html/youBot_Arm_fullTest_02.png b/Overview/html/youBot_Arm_fullTest_02.png index 8887349..a319e83 100644 Binary files a/Overview/html/youBot_Arm_fullTest_02.png and b/Overview/html/youBot_Arm_fullTest_02.png differ diff --git a/Overview/html/youBot_Arm_fullTest_03.png b/Overview/html/youBot_Arm_fullTest_03.png index 2b1c5f3..9dcd6f3 100644 Binary files a/Overview/html/youBot_Arm_fullTest_03.png and b/Overview/html/youBot_Arm_fullTest_03.png differ diff --git a/Overview/html/youBot_Arm_fullTest_04.png b/Overview/html/youBot_Arm_fullTest_04.png index 5cf2230..823da38 100644 Binary files a/Overview/html/youBot_Arm_fullTest_04.png and b/Overview/html/youBot_Arm_fullTest_04.png differ diff --git a/Overview/html/youBot_Arm_fullTest_05.png b/Overview/html/youBot_Arm_fullTest_05.png index 5fe52f4..5395403 100644 Binary files a/Overview/html/youBot_Arm_fullTest_05.png and b/Overview/html/youBot_Arm_fullTest_05.png differ diff --git a/Overview/html/youBot_Arm_fullTest_06.png b/Overview/html/youBot_Arm_fullTest_06.png index da08450..750b93c 100644 Binary files a/Overview/html/youBot_Arm_fullTest_06.png and b/Overview/html/youBot_Arm_fullTest_06.png differ diff --git a/Overview/html/youBot_Arm_fullTest_07.png b/Overview/html/youBot_Arm_fullTest_07.png index a39f2b2..1835226 100644 Binary files a/Overview/html/youBot_Arm_fullTest_07.png and b/Overview/html/youBot_Arm_fullTest_07.png differ diff --git a/Overview/html/youBot_Arm_fullTest_08.png b/Overview/html/youBot_Arm_fullTest_08.png index ed26964..bd7a1be 100644 Binary files a/Overview/html/youBot_Arm_fullTest_08.png and b/Overview/html/youBot_Arm_fullTest_08.png differ diff --git a/Overview/html/youBot_Arm_fullTest_09.png b/Overview/html/youBot_Arm_fullTest_09.png index 58a59d9..76356bd 100644 Binary files a/Overview/html/youBot_Arm_fullTest_09.png and b/Overview/html/youBot_Arm_fullTest_09.png differ diff --git a/Overview/html/youBot_Arm_fullTest_10.png b/Overview/html/youBot_Arm_fullTest_10.png index b67d650..4d9b582 100644 Binary files a/Overview/html/youBot_Arm_fullTest_10.png and b/Overview/html/youBot_Arm_fullTest_10.png differ diff --git a/Overview/html/youBot_Arm_fullTest_11.png b/Overview/html/youBot_Arm_fullTest_11.png index d0b3f0c..069f5e9 100644 Binary files a/Overview/html/youBot_Arm_fullTest_11.png and b/Overview/html/youBot_Arm_fullTest_11.png differ diff --git a/Overview/html/youBot_Arm_fullTest_12.png b/Overview/html/youBot_Arm_fullTest_12.png index 8c189ad..dd48b07 100644 Binary files a/Overview/html/youBot_Arm_fullTest_12.png and b/Overview/html/youBot_Arm_fullTest_12.png differ diff --git a/Overview/html/youBot_Arm_fullTest_13.png b/Overview/html/youBot_Arm_fullTest_13.png index 35e4652..1ab0a59 100644 Binary files a/Overview/html/youBot_Arm_fullTest_13.png and b/Overview/html/youBot_Arm_fullTest_13.png differ diff --git a/Overview/html/youBot_Arm_fullTest_14.png b/Overview/html/youBot_Arm_fullTest_14.png index 8b19b69..ecd68f9 100644 Binary files a/Overview/html/youBot_Arm_fullTest_14.png and b/Overview/html/youBot_Arm_fullTest_14.png differ diff --git a/README.md b/README.md index 475df69..64e226a 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # **Robot Arm with Conveyor Belts** -Copyright 2016-2020 The MathWorks(TM), Inc. +Copyright 2016-2023 The MathWorks(TM), Inc. -[![View Robot Arm with Conveyor Belts on File Exchange](https://www.mathworks.com/matlabcentral/images/matlab-file-exchange.svg)](https://www.mathworks.com/matlabcentral/fileexchange/61370-robot-arm-with-conveyor-belts) +![](Scripts_Data/youBot_Arm_System_demoScript_IMAGE_noLogo.gif) Models a robot arm with 5 degrees of freedom and a gripper, along with two conveyor belts. The robot transfers a block from one conveyor belt @@ -10,6 +10,9 @@ and the other belt transports the block away from the robot arm. Open YouBot_Arm.prj to get started. +View on File Exchange: [![View Robot Arm with Conveyor Belts on File Exchange](https://www.mathworks.com/matlabcentral/images/matlab-file-exchange.svg)](https://www.mathworks.com/matlabcentral/fileexchange/61370-robot-arm-with-conveyor-belts) +You can also open in MATLAB Online: [![Open in MATLAB Online](https://www.mathworks.com/images/responsive/global/open-in-matlab-online.svg)](https://matlab.mathworks.com/open/github/v1?repo=mathworks/Simscape-Robot-Conveyor-Belts&project=YouBot_Arm.prj) + Variant subsystems permit the model user to configure the robot arm for different tests: 1. Full test with conveyor belts, load, and logic (default) @@ -26,4 +29,17 @@ of fidelity for your test. 2. Gripper-block contact: Damper, Penalty, Payload For Box transfer and joint tests, it is recommended to use Payload +## **Main Model** +![](Overview/html/youBot_Arm_01.png) + +## **Mechanical Model of Arm** +![](Overview/html/youBot_Arm_02.png) + +## **Actuation Model** +![](Overview/html/youBot_Arm_04.png) + +## **Motor Model** +![](Overview/html/youBot_Arm_07.png) +## **Logic Controller** +![](Overview/html/youBot_Arm_15.png) \ No newline at end of file diff --git a/Scripts_Data/youBot_Arm_Demo_Script.html b/Scripts_Data/youBot_Arm_Demo_Script.html index 817191b..94d23e0 100644 --- a/Scripts_Data/youBot_Arm_Demo_Script.html +++ b/Scripts_Data/youBot_Arm_Demo_Script.html @@ -1,73 +1,83 @@ - - - - - youBot Arm Demo Script

youBot Arm Demo Script

+ --> +youBot Arm Demo Script + + + + + + + +

+

youBot Arm Demo Script

+

youBot System Image
@@ -101,7 +111,13 @@
-

\ No newline at end of file +--> + + diff --git a/Scripts_Data/youBot_Arm_Demo_Script_web.m b/Scripts_Data/youBot_Arm_Demo_Script_web.m new file mode 100644 index 0000000..a70e3f2 --- /dev/null +++ b/Scripts_Data/youBot_Arm_Demo_Script_web.m @@ -0,0 +1 @@ +web('youBot_Arm_Demo_Script.html') \ No newline at end of file diff --git a/Scripts_Data/youBot_Data/Joint_Motor.slx b/Scripts_Data/youBot_Data/Joint_Motor.slx index e51dee4..088498a 100644 Binary files a/Scripts_Data/youBot_Data/Joint_Motor.slx and b/Scripts_Data/youBot_Data/Joint_Motor.slx differ diff --git a/Workflows/Import_URDF/youBot_STEP_URDF.slx b/Workflows/Import_URDF/youBot_STEP_URDF.slx index ce5719f..6946adc 100644 Binary files a/Workflows/Import_URDF/youBot_STEP_URDF.slx and b/Workflows/Import_URDF/youBot_STEP_URDF.slx differ diff --git a/resources/project/Root.type.Categories/FileClassCategory.type.Category.xml b/resources/project/Root.type.Categories/FileClassCategory.type.Category.xml index 22ed7ad..310a18c 100644 --- a/resources/project/Root.type.Categories/FileClassCategory.type.Category.xml +++ b/resources/project/Root.type.Categories/FileClassCategory.type.Category.xml @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/project/Root.type.Categories/FileClassCategory.type.Category/20545165-5b50-44d0-a832-6a13a3cddbd2.type.Label.xml b/resources/project/Root.type.Categories/FileClassCategory.type.Category/20545165-5b50-44d0-a832-6a13a3cddbd2.type.Label.xml index c2983d3..7759a7d 100644 --- a/resources/project/Root.type.Categories/FileClassCategory.type.Category/20545165-5b50-44d0-a832-6a13a3cddbd2.type.Label.xml +++ b/resources/project/Root.type.Categories/FileClassCategory.type.Category/20545165-5b50-44d0-a832-6a13a3cddbd2.type.Label.xml @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/project/Root.type.Categories/FileClassCategory.type.Category/2273350c-ec4b-4fa6-bb19-542181c1c5e8.type.Label.xml b/resources/project/Root.type.Categories/FileClassCategory.type.Category/2273350c-ec4b-4fa6-bb19-542181c1c5e8.type.Label.xml index d8c8ca9..a9429be 100644 --- a/resources/project/Root.type.Categories/FileClassCategory.type.Category/2273350c-ec4b-4fa6-bb19-542181c1c5e8.type.Label.xml +++ b/resources/project/Root.type.Categories/FileClassCategory.type.Category/2273350c-ec4b-4fa6-bb19-542181c1c5e8.type.Label.xml @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/project/Root.type.Categories/FileClassCategory.type.Category/artifact.type.Label.xml b/resources/project/Root.type.Categories/FileClassCategory.type.Category/artifact.type.Label.xml index bcfd5f8..f9f98e8 100644 --- a/resources/project/Root.type.Categories/FileClassCategory.type.Category/artifact.type.Label.xml +++ b/resources/project/Root.type.Categories/FileClassCategory.type.Category/artifact.type.Label.xml @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/project/Root.type.Categories/FileClassCategory.type.Category/convenience.type.Label.xml b/resources/project/Root.type.Categories/FileClassCategory.type.Category/convenience.type.Label.xml index 66025a4..61bc266 100644 --- a/resources/project/Root.type.Categories/FileClassCategory.type.Category/convenience.type.Label.xml +++ b/resources/project/Root.type.Categories/FileClassCategory.type.Category/convenience.type.Label.xml @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/project/Root.type.Categories/FileClassCategory.type.Category/derived.type.Label.xml b/resources/project/Root.type.Categories/FileClassCategory.type.Category/derived.type.Label.xml index 3296a42..5b30f4e 100644 --- a/resources/project/Root.type.Categories/FileClassCategory.type.Category/derived.type.Label.xml +++ b/resources/project/Root.type.Categories/FileClassCategory.type.Category/derived.type.Label.xml @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/project/Root.type.Categories/FileClassCategory.type.Category/design.type.Label.xml b/resources/project/Root.type.Categories/FileClassCategory.type.Category/design.type.Label.xml index 37b6449..e47ab1f 100644 --- a/resources/project/Root.type.Categories/FileClassCategory.type.Category/design.type.Label.xml +++ b/resources/project/Root.type.Categories/FileClassCategory.type.Category/design.type.Label.xml @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/project/Root.type.Categories/FileClassCategory.type.Category/none.type.Label.xml b/resources/project/Root.type.Categories/FileClassCategory.type.Category/none.type.Label.xml index e4f8416..96226df 100644 --- a/resources/project/Root.type.Categories/FileClassCategory.type.Category/none.type.Label.xml +++ b/resources/project/Root.type.Categories/FileClassCategory.type.Category/none.type.Label.xml @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/project/Root.type.Categories/FileClassCategory.type.Category/other.type.Label.xml b/resources/project/Root.type.Categories/FileClassCategory.type.Category/other.type.Label.xml index 6af045e..fbb2a47 100644 --- a/resources/project/Root.type.Categories/FileClassCategory.type.Category/other.type.Label.xml +++ b/resources/project/Root.type.Categories/FileClassCategory.type.Category/other.type.Label.xml @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/project/Root.type.Categories/FileClassCategory.type.Category/test.type.Label.xml b/resources/project/Root.type.Categories/FileClassCategory.type.Category/test.type.Label.xml index 7df3aba..7c09525 100644 --- a/resources/project/Root.type.Categories/FileClassCategory.type.Category/test.type.Label.xml +++ b/resources/project/Root.type.Categories/FileClassCategory.type.Category/test.type.Label.xml @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/project/Root.type.EntryPoints/0f7dfbfc-c40e-4318-a37a-5daa6a9ac50a.type.EntryPoint.xml b/resources/project/Root.type.EntryPoints/0f7dfbfc-c40e-4318-a37a-5daa6a9ac50a.type.EntryPoint.xml new file mode 100644 index 0000000..53d753b --- /dev/null +++ b/resources/project/Root.type.EntryPoints/0f7dfbfc-c40e-4318-a37a-5daa6a9ac50a.type.EntryPoint.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/resources/project/Root.type.EntryPoints/27abb5b8-d24f-4deb-98b9-921908bb282b.type.EntryPoint.xml b/resources/project/Root.type.EntryPoints/27abb5b8-d24f-4deb-98b9-921908bb282b.type.EntryPoint.xml index 62d0a54..bcc4f33 100644 --- a/resources/project/Root.type.EntryPoints/27abb5b8-d24f-4deb-98b9-921908bb282b.type.EntryPoint.xml +++ b/resources/project/Root.type.EntryPoints/27abb5b8-d24f-4deb-98b9-921908bb282b.type.EntryPoint.xml @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/project/Root.type.EntryPoints/7fac9767-efe6-4f7b-be3e-6e9af1ae32e4.type.EntryPoint.xml b/resources/project/Root.type.EntryPoints/7fac9767-efe6-4f7b-be3e-6e9af1ae32e4.type.EntryPoint.xml index 0d41c85..68d56f7 100644 --- a/resources/project/Root.type.EntryPoints/7fac9767-efe6-4f7b-be3e-6e9af1ae32e4.type.EntryPoint.xml +++ b/resources/project/Root.type.EntryPoints/7fac9767-efe6-4f7b-be3e-6e9af1ae32e4.type.EntryPoint.xml @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/project/Root.type.EntryPoints/9a8c3edd-cf83-46aa-8977-b6e07023f5ee.type.EntryPoint.xml b/resources/project/Root.type.EntryPoints/9a8c3edd-cf83-46aa-8977-b6e07023f5ee.type.EntryPoint.xml deleted file mode 100644 index 0e9bead..0000000 --- a/resources/project/Root.type.EntryPoints/9a8c3edd-cf83-46aa-8977-b6e07023f5ee.type.EntryPoint.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/resources/project/Root.type.EntryPoints/ddb7d6c1-71a3-45ba-b903-39915df69d72.type.EntryPoint.xml b/resources/project/Root.type.EntryPoints/ddb7d6c1-71a3-45ba-b903-39915df69d72.type.EntryPoint.xml index a1d03ca..14b696b 100644 --- a/resources/project/Root.type.EntryPoints/ddb7d6c1-71a3-45ba-b903-39915df69d72.type.EntryPoint.xml +++ b/resources/project/Root.type.EntryPoints/ddb7d6c1-71a3-45ba-b903-39915df69d72.type.EntryPoint.xml @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/project/Root.type.Files/Scripts_Data.type.File/youBot_Arm_Demo_Script_web.m.type.File.xml b/resources/project/Root.type.Files/Scripts_Data.type.File/youBot_Arm_Demo_Script_web.m.type.File.xml new file mode 100644 index 0000000..8c4ede1 --- /dev/null +++ b/resources/project/Root.type.Files/Scripts_Data.type.File/youBot_Arm_Demo_Script_web.m.type.File.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/resources/project/Root.type.ProjectPath/a764827d-0df2-4865-aeb9-1cda67ab4a8a.type.Reference.xml b/resources/project/Root.type.ProjectPath/a764827d-0df2-4865-aeb9-1cda67ab4a8a.type.Reference.xml deleted file mode 100644 index 80aefe3..0000000 --- a/resources/project/Root.type.ProjectPath/a764827d-0df2-4865-aeb9-1cda67ab4a8a.type.Reference.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/resources/project/Root.type.ProjectPath/e75e4c1f-db43-4f76-b0fe-75fb8c420128.type.Reference.xml b/resources/project/Root.type.ProjectPath/e75e4c1f-db43-4f76-b0fe-75fb8c420128.type.Reference.xml deleted file mode 100644 index dc02180..0000000 --- a/resources/project/Root.type.ProjectPath/e75e4c1f-db43-4f76-b0fe-75fb8c420128.type.Reference.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/resources/project/Root.type.References/7485b41c-a1a6-41c9-975f-f97bafb2056e.type.Reference.xml b/resources/project/Root.type.References/e4ca0c84-5d54-422e-8ff6-1d5b840478ed.type.Reference.xml similarity index 100% rename from resources/project/Root.type.References/7485b41c-a1a6-41c9-975f-f97bafb2056e.type.Reference.xml rename to resources/project/Root.type.References/e4ca0c84-5d54-422e-8ff6-1d5b840478ed.type.Reference.xml diff --git a/youBot_Arm.slx b/youBot_Arm.slx index 3efe97f..cc1ad2a 100644 Binary files a/youBot_Arm.slx and b/youBot_Arm.slx differ