仿真一个陀螺 gazebo

仿真一个陀螺 gazebo_第1张图片

注意,这个路径必须是对的,才能够显示正确,目前我不知道怎么设置这个查找路径,所以就先直接写了该路径。然后启动下面命令即可

rosrun gazebo_ros spawn_model -file `rospack find gazebo_ros`/objects/top.urdf -urdf -model top -z 0.5
 

仿真一个陀螺 gazebo_第2张图片

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"}' 

你可能感兴趣的:(Robot)