Main Content

MATLAB でのロボット グリッパー マルチボディの作成

この例では、MATLAB® でロボット グリッパー マルチボディを作成します。これは、"simscape.multibody.*" パッケージの下のさまざまなクラスを使用して、階層的なマルチボディ システムを構築する方法を示します。

グリッパーには、"RigidBody" コンポーネントである手のひらと、それ自体が "Multibody" コンポーネントである指があります。関節のある指の各マルチボディは、回転ジョイント ナックルで接続された硬い指セグメントで構成されます。

グリッパーを作成するには、MATLAB で次のコードを実行します。

import simscape.Value;

% Number of fingers
numFingers = 5;

% Palm dimensions
palmDims = Value([8 40], 'mm');

% Finger segment number and dimensions
segmentDims = Value([30 8; ...   % Proximal segment
                    30 6; ...    % Middle segment
                    40 5], ...   % Distal segment
                    'mm');

% Finger tip dimensions
tipRad = Value(9, 'mm');

% Finger bend angles
bendAngles = Value([-30, +30, +25], 'deg');

% Finger segment colors
colors = [0 0 .7;  ...     % Palm
          .5 .4 0;  ...    % Proximal segment
          .8 .6 0; ...     % Middle segment
          1 .9 0; ...      % Distal segment
          1 1 1];          % Tip

% Construct the gripper
[gripper, gripper_op] = robotGripper(numFingers, palmDims, segmentDims, tipRad, bendAngles, colors);

% Visualize the gripper
cmb = compile(gripper);
visualize(cmb,computeState(cmb,gripper_op),'vizGripper');

シミュレーション ワークフローを実行するために、グリッパー マルチボディ オブジェクトから makeBlockDiagram メソッドを使用して Simulink モデルを作成できます。

makeBlockDiagram(gripper,gripper_op,'gripperModel');

Gripper.PNG

参考

|