# Fixed-wing offboard actuator control

**URL:** <https://discuss.px4.io/t/fixed-wing-offboard-actuator-control/14067>\
**Category:** PX4 Autopilot\
**Created:** [November 27, 2019, 2:59pm UTC](https://discuss.px4.io/t/fixed-wing-offboard-actuator-control/14067 "2019-11-27T14:59:33Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![vwueest](https://discuss.px4.io/user_avatar/discuss.px4.io/vwueest/32/5175_2.png) [@vwueest](https://discuss.px4.io/u/vwueest)\
**Post date:** [November 27, 2019, 2:59pm UTC](https://discuss.px4.io/t/fixed-wing-offboard-actuator-control/14067/1 "2019-11-27T14:59:33Z")

</div>

Hi guys, I am trying to figure out how to control the actuators of a fixed-wing offboard. At the moment i am working in Gazebo, with mavros on PX4 1.9. Sadly i don’t really see a good solution yet.

Ideas that i have at the moment:

1. _Preferred option_ Use the script [manual\_input.py](https://github.com/PX4/Firmware/blob/release/1.9/integrationtests/python_src/px4_it/util/manual_input.py) from the Firmware github to immitate remote control inputs. I found a similar file for cpp on [here](https://px4.github.io/Firmware-Doxygen/d0/dfa/manual__input_8cpp_source.html), but it seems to be old.
2. Use the QGroundControl code that imitates a joystick and send joystick commands over the UDP port 14570 (see figure on [here](https://dev.px4.io/v1.9.0/en/simulation/))

Do you have any better ideas? If you think one of my ideas are suitable, which one? Could you give me some hints or point me towards how i can proceed to get it working?

---

<div class="post-metadata">

**Author:** ![Jaeyoung-Lim](https://discuss.px4.io/user_avatar/discuss.px4.io/jaeyoung-lim/32/10829_2.png) [@Jaeyoung-Lim](https://discuss.px4.io/u/Jaeyoung-Lim)\
**Post date:** [November 27, 2019, 5:05pm UTC](https://discuss.px4.io/t/fixed-wing-offboard-actuator-control/14067/2 "2019-11-27T17:05:05Z")

</div>

@vwueest Could you explain why you chose to control actuator setpoints? There are higher level commands that you can use already as you can see in [this](https://docs.px4.io/master/en/flight_modes/offboard.html) doc

---

<div class="post-metadata">

**Author:** ![vwueest](https://discuss.px4.io/user_avatar/discuss.px4.io/vwueest/32/5175_2.png) [@vwueest](https://discuss.px4.io/u/vwueest)\
**Post date:** [November 28, 2019, 8:43am UTC](https://discuss.px4.io/t/fixed-wing-offboard-actuator-control/14067/3 "2019-11-28T08:43:23Z")

</div>

@Jaeyoung-Lim We are doing a research project, where we need to control on the lowest level possible. We would like to skip all PID controllers, to have full control of the vehicle. So for attitude, we would like to be able to set the angular acceleration (omega\_dot) or the set the position of the control surfaces (u) directly.

 ![screenshot_2019_11_28_09_34_07](https://discuss.px4.io/uploads/default/original/2X/6/67009634827513c66d6d480af644a3c66f99f2ee.png)  
Since that’s essentially what remote control inputs do, i thought we can achieve that with idea 1. that i mentioned. However, i have the impression the code is deprecated (please correct if I’m wrong).  
The other option is to do something similar to [“Virtual Joystick” in QGroundControl](https://docs.qgroundcontrol.com/en/SettingsView/VirtualJoystick.html).  
Please let me know if you have any better ideas or tips on how to proceed. Thanks a lot

---

<div class="post-metadata">

**Author:** ![vwueest](https://discuss.px4.io/user_avatar/discuss.px4.io/vwueest/32/5175_2.png) [@vwueest](https://discuss.px4.io/u/vwueest)\
**Post date:** [December 6, 2019, 11:01am UTC](https://discuss.px4.io/t/fixed-wing-offboard-actuator-control/14067/4 "2019-12-06T11:01:48Z")

</div>

I did some more research on the topic. It seems that i can achieve just that by using the mavros topic `/mavros/rc/overrice`. However, i did not really find any documentation on it and did not see any effects when I did the following:

1. clone firmware, checkout version v1.9.2
2. run Gazebo with ROS wrapper as described in the px4 documentation [(link)](https://dev.px4.io/v1.9.0/en/simulation/ros_interface.html#launching-gazebo-with-ros-wrappers), but adapt it to run the plane instead of the iris quad
3. Take off, put it in manual mode and published: `rostopic pub -r 10 /mavros/rc/override mavros_msgs/OverrideRCIn '[2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000]'`
4. In the PX4 shell i see the message `RC_CHANNELS message detected!` come up, but there is no effect visible (propeller off, all control surface to initial position)  
How does RC override work? Are there parameters I have to set that i have to set? Does anybody have experience with this?  
Thanks for your help!

---

<div class="post-metadata">

**Author:** ![Jaeyoung-Lim](https://discuss.px4.io/user_avatar/discuss.px4.io/jaeyoung-lim/32/10829_2.png) [@Jaeyoung-Lim](https://discuss.px4.io/u/Jaeyoung-Lim)\
**Post date:** [December 6, 2019, 12:58pm UTC](https://discuss.px4.io/t/fixed-wing-offboard-actuator-control/14067/5 "2019-12-06T12:58:19Z")

</div>

@vwueest Just as a note, the RC controls do not control the acceleration setpoints as you mentioned, but the actuator inputs.

On fixed wing the relationship with acceleration setpoint and actuator input is nonlinear and this is why using higher level outputs generally result in better control tracking since the flight controller takes care of the input tracking.

---

<div class="post-metadata">

**Author:** ![vwueest](https://discuss.px4.io/user_avatar/discuss.px4.io/vwueest/32/5175_2.png) [@vwueest](https://discuss.px4.io/u/vwueest)\
**Post date:** [December 7, 2019, 12:06pm UTC](https://discuss.px4.io/t/fixed-wing-offboard-actuator-control/14067/6 "2019-12-07T12:06:28Z")

</div>

@Jaeyoung-Lim yes you are right. Thanks for the note  
We would still like to control the actuators eventually, as we are trying to combine low and high level control commands into one as a research project.  
It seems that `rc/override` is not recommended and does not work for me yet. Is there another way I can achieve this, any tips? Maybe with these topics: `actuator_control`, `manual_control/send`? I myself did not have any success yet. Please let me know if anyone did or has an idea how

---

<div class="post-metadata">

**Author:** ![vwueest](https://discuss.px4.io/user_avatar/discuss.px4.io/vwueest/32/5175_2.png) [@vwueest](https://discuss.px4.io/u/vwueest)\
**Post date:** [December 7, 2019, 12:06pm UTC](https://discuss.px4.io/t/fixed-wing-offboard-actuator-control/14067/7 "2019-12-07T12:06:55Z")

</div>

In the meantime I have tried to send higher level commands (I tried `setpoint_position/local`, `setpoint_raw/attitude` & `mavros/setpoint_velocity/cmd_vel`) as you suggested. They work well on the iris quadrotor, but I don’t have any success on the gazebo plane in PX4 v1.9.2. I can switch to offboard mode, but the plane just keeps doing what it was or even sets all actuators to the initial state when sending attitude/thrust comands (sets thrust to 0 for some reason).

Because i once read offboard was not supported in that version, I wanted to try v1.10. There are 2 issues that came up:

1. When i freshly clone the firmware, check it out at v1.10.0-beta4, and try to build it with `make px4_sitl_default gazebo_plane`, the build crashes with the output:

```auto
[28%] Building CXX object msg/CMakeFiles/uorb_msgs.dir/topics_sources/wind_estimate.cpp.o
[28%] Linking CXX static library libuorb_msgs.a
[28%] Built target uorb_msgs
CMakeFiles/Makefile2:20225: recipe for target 'platforms/posix/CMakeFiles/gazebo_plane.dir/rule' failed
make[2]: *** [platforms/posix/CMakeFiles/gazebo_plane.dir/rule] Error 2
Makefile:6205: recipe for target 'gazebo_plane' failed
make[1]: *** [gazebo_plane] Error 2
Makefile:193: recipe for target 'px4_sitl_default' failed
make: *** [px4_sitl_default] Error 2
exit 2

```

(I am running Ubuntu 18.04.3, ROS melodic, Gazebo 9.0.0)

1. I found [this commit](https://github.com/PX4/Firmware/pull/12532/commits/4d7a1bbea0ec182c2a836705f98954fd3018c08f) from you @Jaeyoung-Lim. I tried to copy these changes into v1.9.2, to allow offboard mode for fixed wings in v1.9.2. Even then, same results as mentioned above.

How can i use command the plane? Am i missing somethings? It feels like this should not be that hard. Any help appreciated

---

<div class="post-metadata">

**Author:** ![Jaeyoung-Lim](https://discuss.px4.io/user_avatar/discuss.px4.io/jaeyoung-lim/32/10829_2.png) [@Jaeyoung-Lim](https://discuss.px4.io/u/Jaeyoung-Lim)\
**Post date:** [December 8, 2019, 4:11pm UTC](https://discuss.px4.io/t/fixed-wing-offboard-actuator-control/14067/8 "2019-12-08T16:11:02Z")

</div>

@vwueest SITL is failing due to the wrong target name. Try

```auto
make px4_sitl gazebo_plane

```

I actually never tried actuator\_control messages on fixed wing. Would be interesting to see if it works.

---

<div class="post-metadata">

**Author:** ![vwueest](https://discuss.px4.io/user_avatar/discuss.px4.io/vwueest/32/5175_2.png) [@vwueest](https://discuss.px4.io/u/vwueest)\
**Post date:** [December 8, 2019, 7:42pm UTC](https://discuss.px4.io/t/fixed-wing-offboard-actuator-control/14067/9 "2019-12-08T19:42:35Z")

</div>

@Jaeyoung-Lim the build also crashes with the same error message when I checkout v1.10.0-beta4 and run

```auto
make px4_sitl gazebo_plane 

```

Do you have an example you could point me to about `actuator_control`? I tried publishing on `/mavros/actuator_control` and `/mavros/target_actuator_control`. Neither had an effect on the plane

---

<div class="post-metadata">

**Author:** ![Jaeyoung-Lim](https://discuss.px4.io/user_avatar/discuss.px4.io/jaeyoung-lim/32/10829_2.png) [@Jaeyoung-Lim](https://discuss.px4.io/u/Jaeyoung-Lim)\
**Post date:** [December 9, 2019, 1:17am UTC](https://discuss.px4.io/t/fixed-wing-offboard-actuator-control/14067/10 "2019-12-09T01:17:30Z")

</div>

Can you run sitl for multirotors? It seems like you are missing something to run SITL. It works for me fine.

`/mavros/target_actuator_control` is a published topic from mavros so you won’t have any effect.

To use `/mavros/actuator_control` make sure you set the right `group_mix` as defined here: [http://docs.ros.org/api/mavros\_msgs/html/msg/ActuatorControl.html](http://docs.ros.org/api/mavros_msgs/html/msg/ActuatorControl.html)

---

<div class="post-metadata">

**Author:** ![vwueest](https://discuss.px4.io/user_avatar/discuss.px4.io/vwueest/32/5175_2.png) [@vwueest](https://discuss.px4.io/u/vwueest)\
**Post date:** [December 9, 2019, 1:43pm UTC](https://discuss.px4.io/t/fixed-wing-offboard-actuator-control/14067/11 "2019-12-09T13:43:33Z")

</div>

A) compilation

- v1.9.2: SITL compiles and works for plane & quadrotor. Offboard only works for quadrotor
- v1.10.0: does not compile (none of the beta or rc) on my system (Ubuntu 18.04.3, ROS melodic, Gazebo 9.0.0). All make commands (`make px4_sitl gazebo`, `gazebo_plane`, `gazebo_iris`) fail with the same error message:

```auto
-- Found GStreamer: adding gst_camera_plugin                                                                                                                                                                
[13%] Building CXX object msg/CMakeFiles/uorb_msgs.dir/topics_sources/commander_state.cpp.o                                                                                                                
-- Found GStreamer: adding gst_video_stream_widget                                                                                                                                                          
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.                                                                                                                
Please set them or make sure they are set and tested correctly in the CMake files:                                                                                                                          
GSTREAMER_LIBRARIES (ADVANCED)                                                                                                                                                                              
    linked by target "LiftDragPlugin" in directory /home/valentin/temp3/Firmware/Tools/sitl_gazebo                                                                                                          
    linked by target "gazebo_video_stream_widget" in directory /home/valentin/temp3/Firmware/Tools/sitl_gazebo                                                                                              
    linked by target "gazebo_gst_camera_plugin" in directory /home/valentin/temp3/Firmware/Tools/sitl_gazebo                                                                                                
    linked by target "gazebo_barometer_plugin" in directory /home/valentin/temp3/Firmware/Tools/sitl_gazebo                                                                                                 
    linked by target "gazebo_magnetometer_plugin" in directory /home/valentin/temp3/Firmware/Tools/sitl_gazebo                                                                                              
    linked by target "gazebo_multirotor_base_plugin" in directory /home/valentin/temp3/Firmware/Tools/sitl_gazebo                                                                                           
    linked by target "gazebo_motor_model" in directory /home/valentin/temp3/Firmware/Tools/sitl_gazebo                                                                                                      
    linked by target "gazebo_mavlink_interface" in directory /home/valentin/temp3/Firmware/Tools/sitl_gazebo                                                                                                
    linked by target "gazebo_gimbal_controller_plugin" in directory /home/valentin/temp3/Firmware/Tools/sitl_gazebo                                                                                         
    linked by target "physics_msgs" in directory /home/valentin/temp3/Firmware/Tools/sitl_gazebo                                                                                                            
    linked by target "nav_msgs" in directory /home/valentin/temp3/Firmware/Tools/sitl_gazebo                                                                                                                
    linked by target "gazebo_wind_plugin" in directory /home/valentin/temp3/Firmware/Tools/sitl_gazebo                                                                                                      
    linked by target "gazebo_imu_plugin" in directory /home/valentin/temp3/Firmware/Tools/sitl_gazebo                                                                                                       
    linked by target "std_msgs" in directory /home/valentin/temp3/Firmware/Tools/sitl_gazebo                                                                                                                
    linked by target "gazebo_opticalflow_plugin" in directory /home/valentin/temp3/Firmware/Tools/sitl_gazebo                                                                                               
    linked by target "gazebo_sonar_plugin" in directory /home/valentin/temp3/Firmware/Tools/sitl_gazebo                                                                                                     
    linked by target "sensor_msgs" in directory /home/valentin/temp3/Firmware/Tools/sitl_gazebo                                                                                                             
    linked by target "gazebo_gps_plugin" in directory /home/valentin/temp3/Firmware/Tools/sitl_gazebo                                                                                                       
    linked by target "mav_msgs" in directory /home/valentin/temp3/Firmware/Tools/sitl_gazebo                                                                                                                
    linked by target "gazebo_irlock_plugin" in directory /home/valentin/temp3/Firmware/Tools/sitl_gazebo                                                                                                    
    linked by target "gazebo_lidar_plugin" in directory /home/valentin/temp3/Firmware/Tools/sitl_gazebo                                                                                                     
    linked by target "gazebo_uuv_plugin" in directory /home/valentin/temp3/Firmware/Tools/sitl_gazebo                                                                                                       
    linked by target "gazebo_vision_plugin" in directory /home/valentin/temp3/Firmware/Tools/sitl_gazebo                                                                                                    
    linked by target "gazebo_geotagged_images_plugin" in directory /home/valentin/temp3/Firmware/Tools/sitl_gazebo                                                                                          
    linked by target "gazebo_controller_interface" in directory /home/valentin/temp3/Firmware/Tools/sitl_gazebo                                                                                             
                                                                                                                                                                                                            
-- Configuring incomplete, errors occurred!                                                                                                                                                                 
See also "/home/valentin/temp3/Firmware/build/px4_sitl_default/build_gazebo/CMakeFiles/CMakeOutput.log".                                                                                                    
See also "/home/valentin/temp3/Firmware/build/px4_sitl_default/build_gazebo/CMakeFiles/CMakeError.log".                                                                                                     
platforms/posix/CMakeFiles/sitl_gazebo.dir/build.make:105: recipe for target 'external/Stamp/sitl_gazebo/sitl_gazebo-configure' failed                                                                      
make[4]: *** [external/Stamp/sitl_gazebo/sitl_gazebo-configure] Error 1                                                                                                                                     
CMakeFiles/Makefile2:14156: recipe for target 'platforms/posix/CMakeFiles/sitl_gazebo.dir/all' failed                                                                                                       
make[3]: *** [platforms/posix/CMakeFiles/sitl_gazebo.dir/all] Error 2                                                                                                                                       
make[3]: *** Waiting for unfinished jobs....        

```

B) Is there something else I have to do besides publishing on the `actuator_control` topic? Do I have to switch to `OFFBOARD` mode? Are there parameters to be set?  
When i publish `actuator_control` and then switch to

- `MANUAL`: no effect, all actuators go to their zero position/throttle
- `OFFBOARD`: the simulation freezes (quadrotor & plane)

I set `group_mix` to `PX4_MIX_FLIGHT_CONTROL` and also tried `PX4_MIX_MANUAL_PASSTHROUGH` - no effect.

---

<div class="post-metadata">

**Author:** ![vwueest](https://discuss.px4.io/user_avatar/discuss.px4.io/vwueest/32/5175_2.png) [@vwueest](https://discuss.px4.io/u/vwueest)\
**Post date:** [December 9, 2019, 8:36pm UTC](https://discuss.px4.io/t/fixed-wing-offboard-actuator-control/14067/12 "2019-12-09T20:36:55Z")

</div>

Update regarding problems stated earlier

A)  
We found the solution: [https://github.com/PX4/Firmware/issues/13416](https://github.com/PX4/Firmware/issues/13416)  
It is a gstreamer related issue. We solved it by running:

```auto
sudo apt install libgstreamer1.0-dev
sudo apt install gstreamer1.0-plugins-good
sudo apt install gstreamer1.0-plugins-bad
sudo apt install gstreamer1.0-plugins-ugly

```

B) not resolved

---

<div class="post-metadata">

**Author:** ![vwueest](https://discuss.px4.io/user_avatar/discuss.px4.io/vwueest/32/5175_2.png) [@vwueest](https://discuss.px4.io/u/vwueest)\
**Post date:** [December 10, 2019, 12:53pm UTC](https://discuss.px4.io/t/fixed-wing-offboard-actuator-control/14067/13 "2019-12-10T12:53:08Z")

</div>

Update on B)

**Solution found**  
When sending commands on `actuator_control` in PX4 v1.10 & master, this info shows up:

```auto
ERROR [mavlink] SET_ACTUATOR_CONTROL_TARGET not supported with lockstep enabled
ERROR [mavlink] Please disable lockstep for actuator offboard control:
ERROR [mavlink] https://dev.px4.io/master/en/simulation/#disable-lockstep-simulation

```

I followed these instructions and now am able to control the actuators when doing this:

- publish on the mavros topic `actuator_control`
- switch to offboard mode

**However**  
When i follow these instructions to disable lockstep, I repetedly get accelerometer and gyroscope error messages:

```auto
[ERROR] [1575971113.545578414, 142.656000000]: FCU: Accel #0 fail: TIMEOUT!
[ERROR] [1575971113.595938207, 142.656000000]: FCU: Gyro #0 fail: TIMEOUT!
ERROR [sensors] Accel #0 fail: TIMEOUT!
ERROR [sensors] Sensor Accel #0 failed. Reconfiguring sensor priorities.
WARN [sensors] Remaining sensors after failover event 0: Accel #0 priority: 1
ERROR [sensors] Gyro #0 fail: TIMEOUT!
ERROR [sensors] Sensor Gyro #0 failed. Reconfiguring sensor priorities.
WARN [sensors] Remaining sensors after failover event 0: Gyro #0 priority: 1

```

I looked at the CPU usage and my computer was not even close to its limits in any of the cores. I think there must be another issue, which seems to be related to disabling the lockstep. Is this a bug in the firmware? How could i solve this issue? Let me know if you have any ideas please

---

<div class="post-metadata">

**Author:** ![Shubham\_Shukla](https://discuss.px4.io/user_avatar/discuss.px4.io/shubham_shukla/32/5197_2.png) [@Shubham\_Shukla](https://discuss.px4.io/u/Shubham_Shukla)\
**Post date:** [May 7, 2020, 12:43pm UTC](https://discuss.px4.io/t/fixed-wing-offboard-actuator-control/14067/14 "2020-05-07T12:43:26Z")

</div>

Did you find any solution to the accelerometer and gyroscope error messages?

I am also trying to send actuator\_control values (in JMAVSim simulation) in offboard mode by disabling lockstep but I get these error messages. I have also observed that the quad is less stable than with lockstep enabled and it drifts drastically when exiting offboard mode.

---

<div class="post-metadata">

**Author:** ![vwueest](https://discuss.px4.io/user_avatar/discuss.px4.io/vwueest/32/5175_2.png) [@vwueest](https://discuss.px4.io/u/vwueest)\
**Post date:** [May 7, 2020, 3:09pm UTC](https://discuss.px4.io/t/fixed-wing-offboard-actuator-control/14067/15 "2020-05-07T15:09:37Z")

</div>

Yes, I did kind of find a solution. I left the lockstep enabled, used PX4 V1.10.1 and have tested it also on v1.10.0-rc3. The essential thing is that you have to publish at \>=150Hz, otherwise the lockstep locks the simulation.  
So what I did is, I sent actuator controls like this:

```auto
rostopic pub /mavros/actuator_control mavros_msgs/ActuatorControl "header:
  seq: 0
  stamp: {secs: 0, nsecs: 0}
  frame_id: ''
group_mix: 0
controls: [0.3, 0.0, 0.0, 0.3, 0.0, 0.0, 0.0, 0.0]" -r 200

```

and then set the vehicle to offboard mode:

```auto
rosservice call /mavros/set_mode "base_mode: 0custom_mode: 'OFFBOARD'"

```

That’s it, this worked in the Gazebo simulation for me. Hope it helps

---

<div class="post-metadata">

**Author:** ![Shubham\_Shukla](https://discuss.px4.io/user_avatar/discuss.px4.io/shubham_shukla/32/5197_2.png) [@Shubham\_Shukla](https://discuss.px4.io/u/Shubham_Shukla)\
**Post date:** [May 8, 2020, 7:54am UTC](https://discuss.px4.io/t/fixed-wing-offboard-actuator-control/14067/16 "2020-05-08T07:54:44Z")

</div>

I tried your solution on PX4 v.10.1 with lockstep enabled, but I am getting the error

> ERROR [mavlink] SET\_ACTUATOR\_CONTROL\_TARGET not supported with lockstep enabled  
> ERROR [mavlink] Please disable lockstep for actuator offboard control:  
> ERROR [mavlink] [Simulation · PX4 Developer Guide](https://dev.px4.io/master/en/simulation/#disable-lockstep-simulation)

I am using a cpp node to publish commands at 200 Hz to the topic /mavros/actuator\_control. I tried it on both Gazebo and JMAVSim, but PX4 is not accepting the actuator control messages.

Are you using command line to publish the messages and set offboard mode?

---

<div class="post-metadata">

**Author:** ![vwueest](https://discuss.px4.io/user_avatar/discuss.px4.io/vwueest/32/5175_2.png) [@vwueest](https://discuss.px4.io/u/vwueest)\
**Post date:** [May 12, 2020, 12:17pm UTC](https://discuss.px4.io/t/fixed-wing-offboard-actuator-control/14067/17 "2020-05-12T12:17:51Z")

</div>

I tried again and you’re right in that it didn’t work for me anymore. However, i didn’t see these errors. It could have to do with some parameter setting.

I was able to get it running by starting the sim with this launch file:

```auto
<?xml version="1.0"?>
<launch>
    <!-- MAVROS posix SITL environment launch script -->
    <!-- launches MAVROS, PX4 SITL, Gazebo environment, and spawns vehicle -->
    <!-- vehicle pose -->
    <arg name="x" default="0"/>
    <arg name="y" default="0"/>
    <arg name="z" default="0"/>
    <arg name="R" default="0"/>
    <arg name="P" default="0"/>
    <arg name="Y" default="0"/>
    <!-- vehicle model and world -->
    <arg name="est" default="ekf2"/>
    <arg name="vehicle" default="plane"/>
    <arg name="world" default="$(find mavlink_sitl_gazebo)/worlds/empty.world"/>
    <arg name="sdf" default="$(find mavlink_sitl_gazebo)/models/plane/plane.sdf"/>

    <!-- gazebo configs -->
    <arg name="gui" default="false"/>
    <arg name="debug" default="false"/>
    <arg name="verbose" default="false"/>
    <arg name="paused" default="false"/>
    <arg name="respawn_gazebo" default="false"/>
    <!-- MAVROS configs -->
    <arg name="fcu_url" default="udp://:14540@localhost:14557"/>
    <arg name="respawn_mavros" default="false"/>
    <!-- PX4 configs -->
    <arg name="interactive" default="true"/>
    <!-- PX4 SITL and Gazebo -->
    <include file="$(find px4)/launch/posix_sitl.launch">
        <arg name="x" value="$(arg x)"/>
        <arg name="y" value="$(arg y)"/>
        <arg name="z" value="$(arg z)"/>
        <arg name="R" value="$(arg R)"/>
        <arg name="P" value="$(arg P)"/>
        <arg name="Y" value="$(arg Y)"/>
        <arg name="world" value="$(arg world)"/>
        <arg name="vehicle" value="$(arg vehicle)"/>
        <arg name="sdf" value="$(arg sdf)"/>
        <arg name="gui" value="$(arg gui)"/>
        <arg name="interactive" value="$(arg interactive)"/>
        <arg name="debug" value="$(arg debug)"/>
        <arg name="verbose" value="$(arg verbose)"/>
        <arg name="paused" value="$(arg paused)"/>
        <arg name="respawn_gazebo" value="$(arg respawn_gazebo)"/>
    </include>
    <!-- MAVROS -->
    <include file="$(find mavros)/launch/px4.launch">
        <!-- GCS link is provided by SITL -->
        <arg name="gcs_url" value=""/>
        <arg name="fcu_url" value="$(arg fcu_url)"/>
        <arg name="respawn_mavros" value="$(arg respawn_mavros)"/>
    </include>
</launch>

```

Hope this works for you. I am not entirely sure what’s the difference between the `roslaunch px4 posix_sitl.launch vehicle:= plane` and my launch file, but my file worked for the plane, while the px4 official one did not.

---

<div class="post-metadata">

**Author:** ![raghunandan\_V](https://discuss.px4.io/user_avatar/discuss.px4.io/raghunandan_v/32/7727_2.png) [@raghunandan\_V](https://discuss.px4.io/u/raghunandan_V)\
**Post date:** [June 14, 2021, 12:48pm UTC](https://discuss.px4.io/t/fixed-wing-offboard-actuator-control/14067/18 "2021-06-14T12:48:10Z")

</div>

Hey,  
I tried all of these, still its not working. I have created a new issue (here)[[Not able to set actuator controls for fixed wing in SITL](https://discuss.px4.io/t/not-able-to-set-actuator-controls-for-fixed-wing-in-sitl/22824)].  
How did it work for you? Am I missing something?.  
Any help will be appreciated

---

<div class="post-metadata">

**Author:** ![Kyros](https://discuss.px4.io/user_avatar/discuss.px4.io/kyros/32/10293_2.png) [@Kyros](https://discuss.px4.io/u/Kyros)\
**Post date:** [March 9, 2022, 2:57pm UTC](https://discuss.px4.io/t/fixed-wing-offboard-actuator-control/14067/19 "2022-03-09T14:57:05Z")

</div>

Continuing the discussion from [Fixed-wing offboard actuator control](https://discuss.px4.io/t/fixed-wing-offboard-actuator-control/14067):

Have you solved the problem? I also tried all methods above but there’s still error:

ERROR [mavlink] SET\_ACTUATOR\_CONTROL\_TARGET not supported with lockstep enabled  
ERROR [mavlink] Please disable lockstep for actuator offboard control:  
ERROR [mavlink] [Simulation · PX4 Developer Guide](https://dev.px4.io/master/en/simulation/#disable-lockstep-simulation)
