https://github.com/gazebosim/gazebo-classic/tree/gazebo9https://classic.gazebosim.org/tutorials
0.4 0.4 0.4 1
0.7 0.7 0.7 1
true
model://sun
model://ground_plane
参照官方教程:
https://classic.gazebosim.org/tutorials?tut=actor&cat=build_robot

actor标签范围内的模型配置。人会在多点间运动
model://sun
walk.dae
walk.dae
问题: 这个人或其它模型的配置是透明的,激光无法监测到对应的物体
参照: https://zhuanlan.zhihu.com/p/404197579
https://blog.csdn.net/allenhsu6/article/details/114068662
默认gazebo9 的插件路径: /usr/lib/x86_64-linux-gnu/gazebo-9/plugins
kint@kint:~$ ls /usr/lib/x86_64-linux-gnu/gazebo-9/plugins
libActorPlugin.so libCameraPlugin.so libFiducialCameraPlugin.so libHydraPlugin.so libLinearBatteryConsumerPlugin.so libRandomVelocityPlugin.so libSkidSteerDrivePlugin.so
libActuatorPlugin.so libCartDemoPlugin.so libFollowerPlugin.so libImuSensorPlugin.so libLinearBatteryPlugin.so libRayPlugin.so libSonarPlugin.so
libArduCopterPlugin.so libCessnaGUIPlugin.so libForceTorquePlugin.so libInitialVelocityPlugin.so libLinkPlot3DPlugin.so libRaySensorNoisePlugin.so libSphereAtlasDemoPlugin.so
libArrangePlugin.so libCessnaPlugin.so libGimbalSmall2dPlugin.so libJointTrajectoryPlugin.so libLookAtDemoPlugin.so libRegionEventBoxPlugin.so libTimerGUIPlugin.so
libAttachLightPlugin.so libContactPlugin.so libGpuRayPlugin.so libKeyboardGUIPlugin.so libModelPropShop.so libRestUiPlugin.so libTouchPlugin.so
libBlinkVisualPlugin.so libDepthCameraPlugin.so libHarnessPlugin.so libKeysToJointsPlugin.so libMudPlugin.so libRestWebPlugin.so libTransporterPlugin.so
libBreakableJointPlugin.so libDiffDrivePlugin.so libHeightmapLODPlugin.so libLensFlareSensorPlugin.so libPlaneDemoPlugin.so libRubblePlugin.so libVehiclePlugin.so
libBuoyancyPlugin.so libElevatorPlugin.so libHydraDemoPlugin.so libLiftDragPlugin.so libPressurePlugin.so libSimEventsPlugin.so libWindPlugin.so
kint@kint:~$ ls /usr/lib/x86_64-linux-gnu/gazebo-9/plugins | grep libActorCollisionsPlugin
编译并拷贝好对应插件后
kint@kint:~$ ls /usr/lib/x86_64-linux-gnu/gazebo-9/plugins | grep libActorCollisionsPlugin
libActorCollisionsPlugin.so
参考自己下载源码去编译,注意gazebo的版本和branch对应
附:在gazebo中添加碰撞插件
1.下载gazebo源码
git clone https://github.com/gazebosim/gazebo-classic
注意branch: gazebo9
2.进入actor_collisions文件夹
cd examples/plugins/actor_collisions
3.编译碰撞插件
mkdir build
cd build
cmake ..
make
4.插件拷贝
sudo cp libActorCollisionsPlugin.so /usr/lib/x86_64-linux-gnu/gazebo-9/plugins
5.测试插件
gazebo actor_collisions.world
actor_collisions.world 中的动态物体代码部分如下,如要在原静态world中添加,直接将actor标签整过去就行,修改相应的运行轨迹waypoint:
walk.dae
1.0
walk.dae
1.000000
true
激光可视效果图:


true
50.0
base_link
robot_pose
0.01
world
0 0 0
0 0 0
动态模型使用gazebo_ros_p3d插件发布pose待研究
无效的
int@kint:~$ rostopic list | grep state
/gazebo/link_states
/gazebo/model_states
kint@kint:~$ rosservice list | grep state
/gazebo/get_link_state
/gazebo/get_model_state
kint@kint:~$ rostopic echo /gazebo/model_states
name:
- ground_plane
- Untitled
- cube_20k
- Dumpster
- Dumpster_0
- jersey_barrier
- actor
- turtlebot3_burger
pose:
-
position:
x: 0.0
y: 0.0
z: 0.0
orientation:
x: 0.0
y: 0.0
z: 0.0
w: 1.0
-
position:
x: 0.603431
y: 0.0078
z: 0.0
orientation:
x: 0.0
y: 0.0
z: 0.0
w: 1.0
-
position:
x: -5.38602065236
y: -6.80744881043
z: 0.499999533763
orientation:
x: -1.56147498596e-07
y: 4.11218458777e-07
z: 0.000350767461665
w: 0.999999938481
-
position:
x: 5.96634000329
y: -7.4192400014
z: 0.000917228865924
orientation:
x: -4.4374537364e-08
y: 8.20482662792e-07
z: -3.21807825887e-11
w: 1.0
-
position:
x: 6.01622000329
y: 6.8208899986
z: 0.000917228865924
orientation:
x: -4.4374537364e-08
y: 8.20482662792e-07
z: -3.21807825887e-11
w: 1.0
-
position:
x: -2.42989
y: -0.195854
z: 0.0
orientation:
x: 0.0
y: 0.0
z: 0.703329181425
w: 0.710864306711
-
position:
x: -0.762738254539
y: -0.685481094471
z: 1.032665
orientation:
x: -0.224475849993
y: 0.65300445035
z: 0.665474749341
w: -0.283441596422
-
position:
x: -0.0451317038465
y: 0.0244496431331
z: -0.00100340529416
orientation:
x: -0.00228018314614
y: 0.00312514199549
z: 0.588102512665
w: 0.808777144119
twist:
-
linear:
x: 0.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0
-
linear:
x: 0.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0
-
linear:
x: 0.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0
-
linear:
x: 0.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0
-
linear:
x: 0.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0
-
linear:
x: 0.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0
-
linear:
x: 0.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0
-
linear:
x: -0.00109069429249
y: 0.000179601510918
z: 1.84796141906e-05
angular:
x: 7.65645076952e-05
y: -1.82519279997e-05
z: 0.0165613168548
kint@kint:~$ rosservice call /gazebo/get_model_state "model_name: 'actor'
relative_entity_name: ''"
header:
seq: 1
stamp:
secs: 628
nsecs: 363000000
frame_id: ''
pose:
position:
x: -0.734865579665
y: 0.655232085776
z: 1.030874
orientation:
x: 0.261328317576
y: 0.654221918987
z: 0.66146012535
w: 0.257238592986
twist:
linear:
x: 0.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0
success: True
status_message: "GetModelState: got properties"