We have created a workspace, where we have a box ‘B’ (massive) with two side boxes(left and right) of negligible size and mass attached to the line connecting the centre of Mass of the main box B. The box is lying on the floor due to gravitational force of -g. We are applying two different forces to the right and left box, in order to move the middle main box B. To move it only along z direction, I need to apply a force that will compensate for the gravitational pull, keeping force along x and y direction as 0.

When I apply equal force on both the side boxes that would compensate the gravitational pull, keeping fx=fy=0 for both right and left box, it moves linearly along z direction(expected).

But when I apply non equal force to both side box, in a real scenario, it should ideally rotate or tilt by an angle theta with respect to z axis, and should move vertically, if the vertical component of the force could compensate for gravity. However, the system is not behaving like this, instead, it still moves vertically with 0 tilt or rotation, with a net force fz=fz(right)+fz(left). How can I resolve this issue?

The same is true for x and y direction also. Even when I apply asymmetric forces, it is not rotating. We tried even by keeping the side boxes in a diagonal fashion, in which case it should result in a torque on B. However, in that case also, the box is still moving with the resultant force, which is the algebraic sum of right and left force.

How to resolve this? Or any idea, why this is happening?

The urdf file and the controller code are available for your reference here: https://drive.google.com/drive/folders/1TcN_iUyTcz5x2AYbTOsehdspwVsD_J40?usp=sharing

  • $\begingroup$ What version of gazebo is this? $\endgroup$ Sep 6, 2023 at 11:33
  • $\begingroup$ Gazebo version 9.19.0-1~bionic and ROS melodic version $\endgroup$ Sep 8, 2023 at 3:35
  • $\begingroup$ Then it seems you probably mix different Gazebo plugins. The Gazebo classic libgazebo_ros_force.so plugin you're loading is documented here: github.com/ros-simulation/gazebo_ros_pkgs/blob/… . It only contains two parameters. But your force plugin configuration provides much more. It seems to be configuration for plugin libgazebo_ros_force_based_move.so from hector_gazebo_plugins package. Please, fix this inconsistency and try again. $\endgroup$ Sep 8, 2023 at 9:01
  • $\begingroup$ Thank you for the input. I will update and get back . $\endgroup$ Sep 10, 2023 at 6:33


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.