Я использую Gazebo и ROS для модели робота. Я просто добавил датчик силы / крутящего момента в суставы моего робота. Данные с этого датчика публикуются в gz topi c "/gazebo/myworld/snakebot/joint_0${num}/sensor_02${num}/wrench"
. Мои описания соединений и датчиков выглядят так:
<joint name="joint_0${num}" type="continuous">
<provideFeedback>true</provideFeedback>
<parent link="body_0${num}"/>
<child link="body_0${nextNum}"/>
<origin xyz="${chassisLength/2 + jointOffset} 0 ${chassisHeight/2}" rpy="0 0 0" />
<axis xyz="0 0 1" rpy="0 0 0" />
<limit effort="100" velocity="1"/>
<joint_properties damping="100.0" friction="0.0"/>
</joint>
<!-- Sensor -->
<gazebo reference="joint_0${num}">
<sensor name="sensor_0${num}" type="force_torque">
<always_on>true</always_on>
<update_rate>30</update_rate>
<force_torque>
<frame>joint_0${num}</frame>
<measure_direction>child_to_parent</measure_direction>
</force_torque>
</sensor>
</gazebo>
Я могу просматривать содержимое этой топи c с терминала, но я могу sh подписаться на топи c с ROS. Можно ли как-нибудь опубликовать sh данные из Gazebo в ROS?
(я также пытался использовать плагин ft_sensor
и мне удалось подписаться на его topi c из ROS, но значения были постоянно ноль ...)
Любая помощь очень ценится :) Спасибо!