{"action":"created","issue":{"url":"https://api.github.com/repos/RobotLocomotion/drake/issues/4109","repository_url":"https://api.github.com/repos/RobotLocomotion/drake","labels_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/4109/labels{/name}","comments_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/4109/comments","events_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/4109/events","html_url":"https://github.com/RobotLocomotion/drake/pull/4109","id":188585665,"number":4109,"title":"Rb map qdot to velocity","user":{"login":"edrumwri","id":2224335,"avatar_url":"https://avatars.githubusercontent.com/u/2224335?v=3","gravatar_id":"","url":"https://api.github.com/users/edrumwri","html_url":"https://github.com/edrumwri","followers_url":"https://api.github.com/users/edrumwri/followers","following_url":"https://api.github.com/users/edrumwri/following{/other_user}","gists_url":"https://api.github.com/users/edrumwri/gists{/gist_id}","starred_url":"https://api.github.com/users/edrumwri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edrumwri/subscriptions","organizations_url":"https://api.github.com/users/edrumwri/orgs","repos_url":"https://api.github.com/users/edrumwri/repos","events_url":"https://api.github.com/users/edrumwri/events{/privacy}","received_events_url":"https://api.github.com/users/edrumwri/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"amcastro-tri","id":17601461,"avatar_url":"https://avatars.githubusercontent.com/u/17601461?v=3","gravatar_id":"","url":"https://api.github.com/users/amcastro-tri","html_url":"https://github.com/amcastro-tri","followers_url":"https://api.github.com/users/amcastro-tri/followers","following_url":"https://api.github.com/users/amcastro-tri/following{/other_user}","gists_url":"https://api.github.com/users/amcastro-tri/gists{/gist_id}","starred_url":"https://api.github.com/users/amcastro-tri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/amcastro-tri/subscriptions","organizations_url":"https://api.github.com/users/amcastro-tri/orgs","repos_url":"https://api.github.com/users/amcastro-tri/repos","events_url":"https://api.github.com/users/amcastro-tri/events{/privacy}","received_events_url":"https://api.github.com/users/amcastro-tri/received_events","type":"User","site_admin":false},"assignees":[{"login":"sammy-tri","id":17596504,"avatar_url":"https://avatars.githubusercontent.com/u/17596504?v=3","gravatar_id":"","url":"https://api.github.com/users/sammy-tri","html_url":"https://github.com/sammy-tri","followers_url":"https://api.github.com/users/sammy-tri/followers","following_url":"https://api.github.com/users/sammy-tri/following{/other_user}","gists_url":"https://api.github.com/users/sammy-tri/gists{/gist_id}","starred_url":"https://api.github.com/users/sammy-tri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sammy-tri/subscriptions","organizations_url":"https://api.github.com/users/sammy-tri/orgs","repos_url":"https://api.github.com/users/sammy-tri/repos","events_url":"https://api.github.com/users/sammy-tri/events{/privacy}","received_events_url":"https://api.github.com/users/sammy-tri/received_events","type":"User","site_admin":false},{"login":"amcastro-tri","id":17601461,"avatar_url":"https://avatars.githubusercontent.com/u/17601461?v=3","gravatar_id":"","url":"https://api.github.com/users/amcastro-tri","html_url":"https://github.com/amcastro-tri","followers_url":"https://api.github.com/users/amcastro-tri/followers","following_url":"https://api.github.com/users/amcastro-tri/following{/other_user}","gists_url":"https://api.github.com/users/amcastro-tri/gists{/gist_id}","starred_url":"https://api.github.com/users/amcastro-tri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/amcastro-tri/subscriptions","organizations_url":"https://api.github.com/users/amcastro-tri/orgs","repos_url":"https://api.github.com/users/amcastro-tri/repos","events_url":"https://api.github.com/users/amcastro-tri/events{/privacy}","received_events_url":"https://api.github.com/users/amcastro-tri/received_events","type":"User","site_admin":false}],"milestone":null,"comments":5,"created_at":"2016-11-10T18:40:09Z","updated_at":"2016-11-10T21:27:43Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/RobotLocomotion/drake/pulls/4109","html_url":"https://github.com/RobotLocomotion/drake/pull/4109","diff_url":"https://github.com/RobotLocomotion/drake/pull/4109.diff","patch_url":"https://github.com/RobotLocomotion/drake/pull/4109.patch"},"body":"This PR:\r\n* Adds a function for mapping the time derivative of generalized coordinates to generalized velocities to RigidBodyPlant (RigidBodyPlant::DoMapConfigurationDerivativesToVelocity())\r\n* Fixes an existing runtime error in KinematicsCache::transformVelocityMappingToPositionDotMapping due to matrix sizing\r\n* Fixes a bug with performing the necessary transformation in RigidBodyPlant::DoMapVelocityToConfigurationDerivatives()\r\n* Speeds RigidBodyPlant::DoMapVelocityToConfigurationDerivatives() by replacing the identity matrix multiplication with a matrix transposition operation\r\n* Replaces the test for mapping generalized velocities to time derivative of generalized coordinates in RigidBodyPlant with a comprehensive forward/inverse test\r\n* Adds documentation for the functions that map generalized coordinate time derivatives to generalized velocities (and vice versa) to KinematicsCache\n\n<!-- Reviewable:start -->\n---\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/robotlocomotion/drake/4109)\n<!-- Reviewable:end -->\n"},"comment":{"url":"https://api.github.com/repos/RobotLocomotion/drake/issues/comments/259812463","html_url":"https://github.com/RobotLocomotion/drake/pull/4109#issuecomment-259812463","issue_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/4109","id":259812463,"user":{"login":"amcastro-tri","id":17601461,"avatar_url":"https://avatars.githubusercontent.com/u/17601461?v=3","gravatar_id":"","url":"https://api.github.com/users/amcastro-tri","html_url":"https://github.com/amcastro-tri","followers_url":"https://api.github.com/users/amcastro-tri/followers","following_url":"https://api.github.com/users/amcastro-tri/following{/other_user}","gists_url":"https://api.github.com/users/amcastro-tri/gists{/gist_id}","starred_url":"https://api.github.com/users/amcastro-tri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/amcastro-tri/subscriptions","organizations_url":"https://api.github.com/users/amcastro-tri/orgs","repos_url":"https://api.github.com/users/amcastro-tri/repos","events_url":"https://api.github.com/users/amcastro-tri/events{/privacy}","received_events_url":"https://api.github.com/users/amcastro-tri/received_events","type":"User","site_admin":false},"created_at":"2016-11-10T21:27:43Z","updated_at":"2016-11-10T21:27:43Z","body":"Just a few comments. Thank you for finding and fixing that bug!\n\n---\n\nReviewed 2 of 4 files at r1, 1 of 1 files at r2.\nReview status: all files reviewed at latest revision, 7 unresolved discussions.\n\n---\n\n*[drake/multibody/kinematics_cache.h, line 19 at r2](https://reviewable.io:443/reviews/robotlocomotion/drake/4109#-KWF1M0ij7auezavx_p7:-KWF1M0jOaJ-wYYR1Eea:b-10o17o) ([raw file](https://github.com/robotlocomotion/drake/blob/57cf0e11b0ba77294fee8ef1e165942ca8ca88ae/drake/multibody/kinematics_cache.h#L19)):*\n> ```objc\n> #include \"drake/common/eigen_types.h\"\n> #include \"drake/multibody/joints/drake_joint.h\"\n> #include \"drake/multibody/rigid_body.h\"\n> ```\n\nalphabetize\n\n---\n\n*[drake/multibody/rigid_body_plant/rigid_body_plant.h, line 196 at r2](https://reviewable.io:443/reviews/robotlocomotion/drake/4109#-KWF6FpY_TBAFKHals8u:-KWF6FpZj6P_NI9gqt7-:b-bo44ek) ([raw file](https://github.com/robotlocomotion/drake/blob/57cf0e11b0ba77294fee8ef1e165942ca8ca88ae/drake/multibody/rigid_body_plant/rigid_body_plant.h#L196)):*\n> ```objc\n> void DoMapConfigurationDerivativesToVelocity(\n>     const Context<T>& context,\n>     const Eigen::Ref<const VectorX<T>>& configuration_dot,\n> ```\n\nTo make the arguments of this method consistent with the nomenclature in `DoMapVelocityToConfigurationDerivatives`, rename configuration_dot --> positions_derivative?\nsame for the cc file.\n\n---\n\n*[drake/multibody/rigid_body_plant/test/rigid_body_plant_test.cc, line 74 at r2](https://reviewable.io:443/reviews/robotlocomotion/drake/4109#-KWF5jb3FEJ6gt8GVYEM:-KWF5jb4EuSDwnB9AgBf:b-mfjkd9) ([raw file](https://github.com/robotlocomotion/drake/blob/57cf0e11b0ba77294fee8ef1e165942ca8ca88ae/drake/multibody/rigid_body_plant/test/rigid_body_plant_test.cc#L74)):*\n> ```cpp\n> // derivatives for a free body with a quaternion base.\n> GTEST_TEST(RigidBodySystemTest, MapVelocityToConfigurationDerivativesAndBack) {\n>   const double kTol = 1e-8;\n> ```\n\nwhy such a big tolerance? couldn't we run this with `NumTraits<double>::epsilon()`? if not, what's the smallest `kTol` we can use for this test to pass? \nIf this IS the smallest `kTol` for which this test passes please add a comment documenting so.\n\n---\n\n*[drake/multibody/rigid_body_plant/test/rigid_body_plant_test.cc, line 141 at r2](https://reviewable.io:443/reviews/robotlocomotion/drake/4109#-KWF4fT5KIy6daOEc275:-KWF4fT6rxpHEAkxvInV:b-tw3gjo) ([raw file](https://github.com/robotlocomotion/drake/blob/57cf0e11b0ba77294fee8ef1e165942ca8ca88ae/drake/multibody/rigid_body_plant/test/rigid_body_plant_test.cc#L141)):*\n> ```cpp\n> \n>   // Loop over roll-pitch-yaw values: this will run approximately 1,000 tests.\n>   const double kAngleInc = 10.0*M_PI/180.0;  // 5 degree increments\n> ```\n\n10 degree increments\n\n---\n\n\n*Comments from [Reviewable](https://reviewable.io:443/reviews/robotlocomotion/drake/4109#-:-KWF7q4eskt0Kh9gFfG6:blitn6l)*\n<!-- Sent from Reviewable.io -->\n"}}
{"actor":{"display_login":"amcastro-tri"}}