I was try to add rudder control to the HIL standard VTOL airframe, but it did not work. The following steps were what I have done, I edited the standard_vtol_hitl.sdf file.
At the rudder plugin, I added the <control_joint_name>
<plugin name="rudder" filename="libLiftDragPlugin.so"> <a0>0.0</a0> <cla>4.752798721</cla> <cda>0.6417112299</cda> <cma>0.0.</cma> <alpha_stall>0.3391428111</alpha_stall> <cla_stall>-3.85</cla_stall> <cda_stall>-0.9233984055</cda_stall> <cma_stall>0</cma_stall> <cp>-0.5 0 0.05</cp> <area>0.02</area> <air_density>1.2041</air_density> <forward>1 0 0</forward> <upward>0 1 0</upward> <link_name>base_link</link_name> <control_joint_name> rudder_joint </control_joint_name> <control_joint_rad_to_cl>4.0</control_joint_rad_to_cl> <robotNamespace></robotNamespace> <windSubTopic>world_wind</windSubTopic> </plugin>
Then in the channel, I added the channel for rudder with input_index of 8:
<channel name="rudder"> <input_index>8</input_index> <input_offset>0</input_offset> <input_scaling>1</input_scaling> <zero_position_disarmed>0</zero_position_disarmed> <zero_position_armed>0</zero_position_armed> <joint_control_type>position_kinematic</joint_control_type> <joint_name>rudder_joint</joint_name> </channel>
However, when I run the HIL, the rudder control is not performed when I input yaw control on my joystick. I have tried to change the input_index to 7, then I think it works, however I would lost my elevator control which also has input_index of 7.
I am wondering if I did any step wrong or I missed any step.
Thanks in advance!