Open rethink-imcmahon opened 9 years ago
This is the relevant code segment: https://github.com/RethinkRobotics/baxter_simulator/blob/master/baxter_sim_kinematics/src/position_kinematics.cpp#L120-L134
void position_kinematics::FKCallback(const sensor_msgs::JointState msg) {
baxter_core_msgs::EndpointState endpoint;
sensor_msgs::JointState configuration;
position_kinematics::FilterJointState(&msg, joint);
//Copy the current Joint positions and names of the appropriate side to the configuration
endpoint.pose = position_kinematics::FKCalc(joint).pose;
//Fill out timestamp for endpoint
endpoint.header.stamp = msg.header.stamp;
//Publish the PoseStamp of the end effector
end_pointstate_pub.publish(endpoint);
}
We need to use the forward kinematics of the joint efforts received in this JointState
callback to calculate the wrench and twist in the endpoint frame.
When running baxter_gazebo, no matter what is happening at the endpoint, there is no twist or wrench on the
/robot/limb/left/endpoint_state
topic:yields
regardless of the force acting on the end effector. This is due to the fact that neither of these were ever implemented.