1function J_geometric_body = calculateGeometricJacobian(g_joints_home, num_joints, bodyTwists) 2%#codegen 3 4J_manipulator = calculateManipulatorJacobian(num_joints,g_joints_home,bodyTwists); 5 6g_be = g_joints_home(:,:,end); % Transformation from base frame to end-effector frame 7Ad_be_inv = calculateAdjointInverse(g_be); 8 9J_geometric_body = [Ad_be_inv, Ad_be_inv * J_manipulator]; 10 11end