Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing twist and wrench on endpoint_state topic #44

Open
rethink-imcmahon opened this issue May 19, 2015 · 1 comment
Open

Missing twist and wrench on endpoint_state topic #44

rethink-imcmahon opened this issue May 19, 2015 · 1 comment

Comments

@rethink-imcmahon
Copy link
Contributor

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:

# after launching gazebo in another teriminal
# via $ roslaunch baxter_gazebo baxter_world.launch
$ rostopic echo /robot/limb/left/endpoint_state

yields

header: 
  seq: 307258
  stamp: 
    secs: 0
    nsecs: 0
  frame_id: ''
pose: 
  position: 
    x: 0.572575815071
    y: 0.181186651371
    z: 0.24619470767
  orientation: 
    x: 0.140772189718
    y: 0.989644952796
    z: 0.0116515084487
    w: 0.0255009874122
twist: 
  linear: 
    x: 0.0
    y: 0.0
    z: 0.0
  angular: 
    x: 0.0
    y: 0.0
    z: 0.0
wrench: 
  force: 
    x: 0.0
    y: 0.0
    z: 0.0
  torque: 
    x: 0.0
    y: 0.0
    z: 0.0

---

regardless of the force acting on the end effector. This is due to the fact that neither of these were ever implemented.

@rethink-imcmahon rethink-imcmahon added this to the RSDK 1.2 milestone May 19, 2015
@rethink-imcmahon rethink-imcmahon modified the milestones: 1.2, RSDK 1.2 Dec 8, 2015
@rethink-imcmahon rethink-imcmahon removed this from the RSDK 1.2 milestone Dec 30, 2015
@IanTheEngineer
Copy link
Contributor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant