Center of Gravity Calculation in 3D Space

11 views (last 30 days)
Hi
I have a force-torque sensor on a robot arm and would like to automatically evaluate the force and CoG of the attached tool. I thought about measuring force and torque under different orientation and averaging the results. What I have so far:
function [ fg, cog ] = ldd( f, m )
%LoadDataDetection
%Calculating gravity force and center of gravity of attached tool based on
%FT-Sensor data.
transpose(f);
transpose(m);
r = transpose([sym('x') sym('y') sym('z')]);
eqn = m == cross(f,r);
fg = sqrt(f(1)^2 + f(2)^2 + f(3)^2);
cog = solve(eqn);
end
f and m represents the measured force and torque of the sensor, cog should be a 3x1 vector with the cog values (x,y,z).
The problem is, under some configurations, I do get equations 0==0 (mass in XY plane for example) and therefore, the solve does not work. Additionally, as I use sensor measurements, I do not get an exact solution and would have to integrate some residuum term that has to be minimized.
Any idea how to approach this problem? I am very new to matlab but I guess this should be some very simple problem. =)

Answers (0)

Categories

Find more on Programming in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!