📫 Adds function to get the model toe positions
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
import { LoaderUtils } from 'three';
|
import { LoaderUtils, Vector3 } from 'three';
|
||||||
import URDFLoader, { type URDFRobot } from 'urdf-loader';
|
import URDFLoader, { type URDFRobot } from 'urdf-loader';
|
||||||
import { XacroLoader } from 'xacro-parser';
|
import { XacroLoader } from 'xacro-parser';
|
||||||
import { Result } from '$lib/utilities';
|
import { Result } from '$lib/utilities';
|
||||||
@@ -36,3 +36,15 @@ export const loadModelAsync = async (
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const toeWorldPositions = (robot: URDFRobot) => {
|
||||||
|
const toe_positions: Vector3[] = [];
|
||||||
|
robot.traverse((child) => {
|
||||||
|
if (child.name.includes('toe') && !child.name.includes('_link')) {
|
||||||
|
const worldPosition = new Vector3();
|
||||||
|
child.getWorldPosition(worldPosition);
|
||||||
|
toe_positions.push(worldPosition);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return toe_positions;
|
||||||
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user