I also tryed to execute the .pos files in the package naosoccer_pos_action and they work perfectly fine,even if some of them are a little bit too quick (like the action.pos that makes it sit with the arms between its legs). I suggest to extend the time of that action to avoid corrateral damage to the robot. Can I do it by incrementing the value of the last number in the .pos files?(the DUR one).
I agree, this pos file has a harsh movement that shouldn’t be the default one at least. The action.pos is identical to rUNSWift’s goalie centre pos file, which is used for the goalie to block the ball quickly.
I will open a gh issue to track this valid concern.
(tip: there are a bunch of other pos file you can try it out in rUNSWift’s code release)
On launching the new nao_lola branch the leds of the nao turns off for some reason;they didn’t do that with the previous release.
This change of behavior is expected on that branch, but I hope that having the leds off when starting nao_lola is a sensible default behavior.
Finally, the first time I set the stiffness of a joint to 1.0, that joint goes to his default 0 position.
In fact, setting all of that to 1.0 the first time results in the robot standing like in the simulation when I spawn a new nao_agent. It is suppose to do that?
Short answer is yes. Here’s the reason:
nao_lola sends zero positions for each joint at 82Hz, unless you override a joint position by publishing to /effectors/joint_positions.
Same goes for joint stiffnesses - nao_lola sends zero stiffnesses for each joint at 82Hz, unless you override a joint stiffness by publishing to /effectors/joint_stiffnesses.
This means that the first time you publish a non-zero stiffness to a joint, it will immediately try and move it to the position it is being commanded (which is zero).
In practice, you wouldn’t be using the “ros2 topic pub” to move the robot. You’d have a c++ or python node publishing to /effectors/joint_positions. In that node, you should subscribe to /sensors/joint_positions to get the current joint position and interpolate the joint angles to the position where you want them to be. For example, you’ll see this happening in naosoccer_pos_action.