Gazebo | Ignition | Community
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Camera Gimbal for Hector/Gazebo

Hi, I'm relativity new to gazebo and working with the hector quadrotor package (http://wiki.ros.org/hector_quadrotor). However, for a project i want to add a gimbal camera (roll, pitch,yaw) to the quadrotor. The idea is to be able to send a ros message to move the gimbal.

I'm not sure what is possible and what is the fastest way to have this:

1.Is it possible to send a tf to update the link? i was not abel to do this (nothing moved) 2. Would it be possible to publish on the joint_state_publisher topic? also there, nothing moved. 3. Do i have to actuate the joint where the camera is attached?

e.g. modify the file in the following way:

https://github.com/tu-darmstadt-ros-pkg/hector_models/blob/groovy-devel/hector_sensors_description/urdf/generic_camera.urdf.xacro

<joint name="${name}_joint" type="revolute">
  <xacro:insert_block name="origin" />
  <parent link="${parent}"/>
  <child link="${name}_link"/>
  <limit effort="300" velocity="1" lower="-2.61799387799" upper="2.6128806087" />
<dynamics damping="50" friction="1"/>
</joint>

add a transmission

<transmission name="tran1">
  <joint name="${name}_joint">
     <hardwareInterface>PositionJointInterface</hardwareInterface>
  </joint>
  <actuator name="motor1">
    <mechanicalReduction>1</mechanicalReduction>
  </actuator>
</transmission>

and add a gazebo control plugin:

<gazebo>
 <plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">
    <robotNamespace>q1/</robotNamespace>
 </plugin>

</gazebo>

Is this more or less the correct way to do this? Or has anyone done this before? perhaps this is the right plugin: https://github.com/tu-darmstadt-ros-pkg/hector_camera_control but i can not compile it with ros indigo.

Best, Tobi