-
Hello, Sorry for bother you again! We have recently started working again with Let's say we want our robot to receive some kinesthetic demonstrations, like in this or this video. We are looking for a complaint behaviour in robot's arms, with gravity compensation, in order for a teacher to move the arms easily. Based on the discussion here and also demoForceImitation, I am setting the following for the first 5 joints in one arm of the robot in my code:
It does give the feeling when moving robot's arm same as running the I am not sure about the usage of
The modules are running through this part of start up xml application (with no port to connect manual or by the app):
Lastly, I could not find what was mentioned here as useful for our propose (the |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 27 replies
-
Hi @paliasgh Regarding the following lines you posted above iimp->setImpedance(j,0.2,0.02);
imod->setControlMode(j, VOCAB_CM_TORQUE); //maybe not needed?
iint->setInteractionMode(j,VOCAB_IM_COMPLIANT); Please, consider the table I provided a long time ago, which states that the interaction mode doesn't go along with the torque control mode. Thus, either you enable the torque control mode or the position control mode; for the latter, you have two interaction modes available: stiff and compliant. If you want to perform kinesthetic teaching, you should enable the torque control mode.
Difficult to judge. It may depend on several factors, including the status of the robot.
You don't have to interact with these two modules. When your code changes the control modes, then they will kick in under the hood.
Correct 👍🏻
It's a quite old piece of SW that grew wildly as a monolithic general-purpose motor component. For the second operation, there are suitable RPC commands that you'll find documented:
|
Beta Was this translation helpful? Give feedback.
-
IMG_3239.movHi @pattacini , thank you very much. I now see your point and can understand the table. I see that for Kinesthetic teaching
The video attached here is for after running only imod->setControlMode(0, VOCAB_CM_TORQUE); on joints 0 to 4 in the left arm of the robot. P.S. I just discovered that changing the control mode of any joint in robot's arm to torque control mode, either through |
Beta Was this translation helpful? Give feedback.
-
Hello again @pattacini, Now that the issue discussed here is resolved, I wanted to bother again regrading this topic. Thanks in advance for you help! When However, moving any of the robot's arm still is not easy. I mean, it is super hard to move the arm of the robot as seen in the video you mentioned because some of the joints (mostly Joint 0) feel very heavy. In fact, setting the joints in Idle mode makes them easier to move compared to Torque control mode! I can feel something is happening there (maybe due to IMG_4635.MOVJust to remind you, what we are looking for is to simply let the robot go through some actions (receive kinesthetic demonstrations) pretty much like the video mentioned above. |
Beta Was this translation helpful? Give feedback.
Hi @paliasgh
Regarding the following lines you posted above
Please, consider the table I provided a long time ago, which states that the interaction mode doesn't go along with the torque control mode. Thus, either you enable the torque control mode or the position control mode; for the latter, you have two interaction modes available: stiff and compliant.
If you want to perform kinesthetic teaching, you should enable the torque control mode.