Support on development of computed torque-control #1946
-
Introduction One can see how to implement the gravity compensation as present in one some of the DART examples: Eigen::VectorXd C = mRobot->getGravityForces();
mRobot->setForces(C); However, the values returned does not match with the torques at the joints for the same manipulator configuration. I could input the torques manually through a ForwardCommandController and the values are diferent. Q1: In the controller loop I update the robot skeleton positions, velocities and torques from the Gazebo simulation. Is it the proper way to feedback the robot data to the dart skeleton class? Q2: I've been studying the Dart code base and I'm aware of methods such as Q3: Moreover, my scenario is different than the examples/tutorials because the "World" is Gazebo. In this setup, Gazebo will integrate the states in the same way To Reproduce
Expected behavior Screenshots Efforts before activating my controller (I guess it is the efforts that the gz_ros2_control sets to hold position): These values makes some sense for this spatial configuration: Efforts when activate my controller (using only the getGravityForces() vector): Environment:
|
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
Update |
Beta Was this translation helpful? Give feedback.
Update
It became clear to me it is a Dart related issue, then the details related to ros2_control here may not be helpful.