checkfourbarNPose

by Tim C. Lueth, SG-Lib Toolbox: SolidGeometry 5.6 - 4Bar/Linkages
Introduced first in SolidGeometry 4.5, Creation date: 2019-02-01, Last change: 2025-09-14

checks whether a fourbar joint solution exists for results of center3Pose

Description

r= S(ka,4); % radius of crank
l1=S(kb,4); % radius of follower
l2=S(kb,1)-S(ka,1); % length of coupler
do=S(ka,5); % displacement of coupler
wo=S(ka,6); % Angle deviation before displacement
A0=S(ka,2:3); % Base of crank
B0=S(kb,2:3); % Base of follower
d=norm(A0-B0); % distance between both bases

======================================================================
THIS FUNCTION IS PART OF THE SEQUENCE
1. Create Poses as List of Startpoints A and Endpoints B uses Posesample or Poseui:
>> PS=Poseui(3,.2); SGfigure; Poseplot(PS);
>> PS.A=[-0.00 0.00; 0.00 1.00; 1.00 3.00]; PS.B=[ 1.00 0.00; 1.00 1.00; 1.71 2.29];
2. Calculate a set of parameter variations for possible Solutions:
>> center3Pose(PS.A,PS.B,-20:20,-20:5:20,-3:.2:3); S=ans; whos C;
3. Calculate and analyze all possible permutations of the parameter variation:
>> checkfourbar3Posepermutation(PS.A,PS.B,S); FP=ans;
>> checkfourbar3Pose(PS.A,PS.B,S); % if there is only one assembly
4. Limit the Solution to your needs by limiting the permutations, for example
FULL ROTATION 'u',0 DIMENSION 'l1l2rd',[5 8]
checkfourbar3Posepermutation(PS.A,PS.B,FP,'','u',0,'l1l2rd',[2 4]);
OR FULL ROTATION 'u',0 BASES INSIDE AN AREA
checkfourbar3Posepermutation(PS.A,PS.B,FP,'','cpl',PLcircle(2)+[3 3],'l1l2rd',[0 3]);
======================================================================
All those functions are based on
invkinplan2 - that calculates both configurations for a planar 2bar linkage

See Also: center3Pose , checkfourbar3Pose , Posesample , Poseplot , TofPose , Posenorm , Poseui

Example Illustration

 missing image of checkfourbarNPose(A,B,S,dws,k,pl)

Syntax

[ci,perr,werr,oci]=checkfourbarNPose(A,B,S,[dws,k,pl])

Input Parameter

A: Starting Points of 3 Poses
B: Ending Points of 3 Poses
S: Solutions comming from center3Pose
dws: selected pair of distance and angle
k: selected values for k; default are first and last of S
pl: length of pose

Output Parameter

ci: configuration for pose of a fourbar linkage
perr:
werr:
oci:

Examples


PS.A=[10.50 -4.38; 3.50 -10.50; -5.25 -10.50]; PS.B=[ 9.79 -5.08; 2.50 -10.50; -5.96 -9.79];
center3Pose(PS.A,PS.B,[-10 00],0,-pi/4); S=ans, CPLplot(CPLsample(4)); checkfourbar3Pose(PS.A,PS.B,S,'verbose




Copyright 2019-2025 Tim C. Lueth. All rights reserved. The code is the property of Tim C. Lueth and may not be redistributed or modified without explicit written permission. This software may be used free of charge for academic research and teaching purposes only. Commercial use, redistribution, modification, or reverse engineering is strictly prohibited. Access to source code is restricted and granted only under specific agreements. For licensing inquiries or commercial use, please contact: Tim C. Lueth

Last html export of this page out of FM database by TL: 2025-09-21