URDF Error No valid hardware interface element found in joint

I am using ros-kinetic and gazebo7.3 on Ubuntu 16.04. I have been following this tutorial (http://www.generationrobots.com/blog/...) and have adapted it slightly for my own vehicle (4 wheels instead of 2, skid drive plugin instead of diff drive).

I receive errors when running roslaunch on my own project, and I get the same errors when using the same command on the project provided at the above link. I assume that means that I am missing something in ros or Gazebo.

Your config file seems correct.
have you :
<gazebo>
<plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">
<robotnamespace>/robot_gazebo</robotnamespace>
</plugin>
</gazebo>
in your urdf?
you really need to specify the hardwareinterface twice in the <transmission>. One time for the <joint> and one time for the <actuator>

@GuillaumeB I do have that code in my URDF. I tried adding the additional hardwareInterface but that didn't work. I really thought it had worked but it was just another model that was still appearing in my gazebo.
I still get the controller spawner warning and an error stating that a process had died

I have now created a new model using a single .world file. (I followed this tutorial mostly http://machineawakening.blogspot.co.uk/2015/05/controlling-differential-drive-robot-in.html). I can use the turtlesim teleop key node and I can use twist commands. I just now need to work out how to publish twist command via scripts and process images etc.
Do you think it is worth me giving up on the URDF one do you see any future issues with this single file approach?

@GuillaumeB Thanks for the help, that was actually the tutorial I used. However, as I mentioned in the original post I couldn't actually run the code supplied by that tutorial, I received the same errors as the one that I have on my own code.
It'd be good if I could get the URDF working eventually, but I think for now it is probably best to make some progress so I will use the single file for now. Thanks again for the help.

Were there any solutions for this problem? I recently got the same kind of error and cannot figure out what the problem is:
[link text](http://answers.gazebosim.org/question/18186/libgazebo_ros_control-in-ros-indigo-is-throwing-exception-for-joint_position_controllers-bug-dec-2017/)