注意,这个路径必须是对的,才能够显示正确,目前我不知道怎么设置这个查找路径,所以就先直接写了该路径。然后启动下面命令即可
rosrun gazebo_ros spawn_model -file `rospack find gazebo_ros`/objects/top.urdf -urdf -model top -z 0.5
rosservice call gazebo/apply_body_wrench '{body_name: "top::my_top" , wrench: { force: { x: 0.0, y: 0, z: 0 } , torque: { x: 0.0, y: 0 , z: 5.0 } }, start_time: 10000000000, duration: 1000000000 }'
增加一个z方向旋转力,陀螺转起来
rosservice call gazebo/apply_body_wrench '{body_name: "top::my_top" , wrench: { force: { x: 0.0, y: 0, z: -0.1 } , torque: { x: 0.0, y: 0 , z: 0.0 } }, start_time: 10000000000, duration: -1000000000 }'
从上向下给一个力,可以将其压到地面上
rosservice call gazebo/apply_body_wrench '{body_name: "top::my_top" , wrench: { force: { x: 0.0, y: 0, z: -0.1 } , torque: { x: 0.0, y: 0 , z: 0.0 } }, start_time: 10000000000, duration: -1000000000 }'
如果给一个反方向的力,那么就会停止旋转并且摔倒
rosservice call gazebo/apply_body_wrench '{body_name: "top::my_top" , wrench: { force: { x: 0.0, y: 0, z: 0 } , torque: { x: 0.0, y: 0 , z: -5.0 } }, start_time: 10000000000, duration: 1000000000 }'
清零所有外力
rosservice call gazebo/clear_body_wrenches '{body_name: "top::my_top"}'