# PX4 Dev Call: February 12, 2020

**URL:** <https://discuss.px4.io/t/px4-dev-call-february-12-2020/15028>\
**Category:** PX4 Autopilot\
**Created:** [February 5, 2020, 6:13pm UTC](https://discuss.px4.io/t/px4-dev-call-february-12-2020/15028 "2020-02-05T18:13:15Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![rroche](https://discuss.px4.io/user_avatar/discuss.px4.io/rroche/32/17635_2.png) [@rroche](https://discuss.px4.io/u/rroche)\
**Post date:** [February 5, 2020, 6:13pm UTC](https://discuss.px4.io/t/px4-dev-call-february-12-2020/15028/1 "2020-02-05T18:13:15Z")

</div>

# February 12, 2020

## Agenda

- Status update by component (Core Dev Team)
- Community Q&A

## Join Meeting

**Meeting ID** : 946 175 205  
**Join using your mobile/desktop**

> **[Join our Cloud HD Video Meeting](https://zoom.us/j/946175205)**
>
> Zoom is the leader in modern enterprise cloud communications.

**Call in using your phone, find your local number** : [https://zoom.us/u/aetSYKbiMF](https://zoom.us/u/aetSYKbiMF)

### Component update

#### Documentation

- Overall improvements on SITL dependencies @JulianOes

#### Flight Testing

@Tony3dr

> [@Week 5 February 3- February 7](https://discuss.px4.io/t/week-5-february-3-february-7/15137):
>
> Dronecode Test Team, Week 5 Report [PX4 Autopilot](https://dev.px4.io/en/test_and_ci/test_flights.html)Flight Testing, by the Dronecode Test Team. Sponsored by Dronecode. Summary 40 flights ([[[Link to log archive](https://docs.google.com/spreadsheets/d/13b03rMoR9UUwpOHSsoKw27p0VS4Jm5VTmUzE05KX_yk/edit#gid=649225558)] 4 PR’s assigned 0 issue reported this week. Vehicle Status GitHub Pull Requests (Assigned / Tested) Board config: timer config simplifications[#13871](https://github.com/PX4/Firmware/pull/13871) mc\_rate\_control: use vehicle\_angular\_acceleration topic [#14048](https://github.com/PX4/Firmware/pull/14048#event-2994510648) Update submodule ecl to latest Thu Jan 30 00:38:08 UTC 2020 [#14062](https://github.com/PX4/Firmware/pull/14062) [WIP] sensors: move baro aggregation…

#### System Architecture

- Sensors module changes to split tasks @dagar
- CAN nodes as airframe type using existing drivers @dagar

#### OS / NuttX

- PX4 reaching I/O limits. @dagar & @david_s5
- Discussions on Socket CAN implementation

> **[SocketCAN API on a RTOS](https://forum.opencyphal.org/t/socketcan-api-on-a-rtos/750)**
>
> This is a follow up to the SocketCAN proposal discussion for the NuttX RTOS. SocketCAN is allowing the CAN controllers to be addressed through the network socket layer (see wikipedia picture below - SocketCAN - Wikipedia). The Nuttx...

#### Comms

- uOrb changes to improve the mavlink module @dagar
- Work towards using new uorb sub to save memory and make it faster

#### Driver

- No update.

#### Commander

- No update.

#### Navigator

- Fix edge case with idle setpoint @JulianOes

[https://github.com/PX4/Firmware/pull/14134](https://github.com/PX4/Firmware/pull/14134)

#### VTOL

- No update.

#### Fixed Wing

- Minor changes planned, and optimizations

#### Multicopter

- Position controller refactor (part 6) @MaEtUgR
- New position mode, sticks are mapped to acceleration (WIP) @MaEtUgR

> <https://github.com/PX4/PX4-Autopilot/pull/14017>
>
> \*\*Describe problem solved by this pull request\*\*
> This is part 6 of the refactor…ing from the monster pr #12072 and should be easy to understand and review since the diff is manageable.
> 
> \*\*Describe your solution\*\*
> \- Replace velocity PID calculations for each axis separate spread across the whole function with a one-line \`Vector3f\` formula. https://github.com/PX4/Firmware/commit/af3ede01353fdb80a4329ab9a91536a46d4ae69a
> \- Use \`addIfNotNan\` helper functions for feed-forward summation with potentially NAN values in each axis. This simplifies velocity feed-forward and enables unit thrust feed-forward (acceleration to come in next pr).
> \- Make sure the hacky way horizontal thrust setpoints get combined with altitude and vertical velocity setpoints in "Altitude" mode still works to not break any functionality. This part can be removed soon with acceleration setpoints.
> \- Refactor horizontal thrust limit calculation.
> \- Replace velocity integral summation for each axis separate spread across the whole function with a one-line \`Vector3f\` formula. Do anti-windup by reducing the summed up \`vel\_error\` before that.
> \- Make sure NAN yaw/yawrate setpoints don't get into the attitude setpoint because the attitude controller doesn't support this yet.
> \- Replace all the checks in the \`interfaceMapping()\` and externally in the \`mc\_pos\_control\` module which handled every single case separately, were called in the setter, introduced internal setpoint changes that had to be reverted before logging. Instead, use a set of simple rules in the method \`PositionControl.\_updateSuccessful()\` that are all checked and returned with \`PositionControl.update()\`.
> \- Remove obsolete \`skip\_controller\` case which was used when all the thrust setpoints were already set in the input. Since thrust feed-forward is supported this case is implicitly supported.
> 
> \*\*Test data / coverage\*\*
> SITL hover goto, and manual position altitude tested and unit tests pass.
> 
> \*\*Additional context\*\*
> Part 5 that goes before this: #13701

#### MAVROS / RTPS / ROS2

- added library to px4\_ros\_com to make transforms (frame & orientation) @TSC21

#### Avoidance

- low pass filter to the forward-backward direction
- A\* planning fixes

> <https://github.com/PX4/PX4-Avoidance/pull/555>
>
> Use the longest A\* path weighted by cost, since we don't plan all of the way to …the goal.
> 
> Before, the path chosen could have been any of the green cells, right up to the point of finding the red cell.
> !\[image\](https://user-images.githubusercontent.com/1746276/73009352-ab25c700-3e10-11ea-9efa-afae76af9b4f.png)
> (play around with it \[here\](https://qiao.github.io/PathFinding.js/visual/))
> 
> Now, it will find roughly the longest path until it actually reaches the end.
> 
> Happy for comments on what exactly we can do for a quick win here to improve the choice mechanism for the A\* when it only plans partially.

[https://github.com/PX4/avoidance/pull/557](https://github.com/PX4/avoidance/pull/557)

#### MAVSDK

- Refactor of mission transfer on-going @JulianOes
- Moving CI from Travis to Github workflows

#### Simulation

- PR from @TSC21 SITL/gazebo allows subscription to multiple distance sensors
- On-going work on FastRTPS plugin which runs parallel to MAVLink @TSC21
- Multi-vehicle VTOL support @Jaeyoung-Lim
- Boat model now in SITL @Jaeyoung-Lim

> <https://github.com/PX4/PX4-SITL_gazebo-classic/pull/411>
>
> This adds the possibility to the \`gazebo\_mavlink\_interface\` to subscribe dynamic…ally to multiple sensor sources connected to a model. I started with the lidar sensors, but this can be extended to multiple other sources (like GPS's, multiple camera sources, others).
> 
> To do:
> \- \[x\] Extend to sonars and other sensors;
> \- \[x\] Add a model example with an array of multiple distance sensors.
> 
> This feature potentiates the development of onboard sense-and-avoid algorithms. Some changes were also required on the \`simulator\` module in PX4. PR following upstream.
> 
> @dagar @jkflying @Jaeyoung-Lim @mrivi @baumanta FYI.

[https://github.com/PX4/px4\_ros\_com/commit/2971ccf4f9cec231ae17cd71d39e7817a484aae3](https://github.com/PX4/px4_ros_com/commit/2971ccf4f9cec231ae17cd71d39e7817a484aae3)

> <https://github.com/PX4/PX4-SITL_gazebo-classic/pull/409>
>
> Recently there has been interest on using PX4 on USV (unmanned surface vehicle) …systems. This PR adapts the usv\_dynamics plugin from the \[vrx\](https://bitbucket.org/osrf/vrx/src/default/) simulation and integrates the boat simulation into px4 SITL.
> 
> As PX4 does not officially support boats yet, I hope this PR becomes a initial step towards supporting such applications. 
> 
> The changes that were done compared to the original vrx project are as the following
> \- ROS dependencies have been removed
> \- Removed wave plugin dependencies (The original code segfaults if the wave plugin does not exist)
> \- Thrust plugin has been removed and the already existing \`gazebo\_motor\_model\` is used
> \- Integrated into the mavlink HIL interface for px4 sitl
> 
> \*\*Test Data Coverage\*\*
> The video below shows the WAM-V vehicle being controlled in manual mode.
> !\[ezgif com-video-to-gif(4)\](https://user-images.githubusercontent.com/5248102/74112434-e1976c00-4b9c-11ea-8220-f39809c315bb.gif)
> 
> \*\*Additional Context\*\*
> This is a updated version of https://github.com/PX4/sitl\_gazebo/pull/357

> <https://github.com/PX4/PX4-SITL_gazebo-classic/pull/398>
>
> \*\*Describe problem solved by this pull request\*\*
> This adds support to multivehi…cle simulation with \`standard\_vtol\` by adding a xacro file which generates the sdf models
> 
> \*\*Describe your solution\*\*
> Generate the sdf file of \`standard\_vtol\` using xacro so that mavlink port / sysid can be configured
> 
> \*\*Test data / coverage\*\*
> !\[ezgif com-video-to-gif(2)\](https://user-images.githubusercontent.com/5248102/72689212-57189b00-3b0f-11ea-82aa-bdbd13ce5353.gif)
> 
> Full video: \[video\](https://youtu.be/lAjjTFFZebI)
> 
> To run this, you can run with the following command
> \`\`\`
> Tools/gazebo\_sitl\_multiple\_run.sh -m standard\_vtol
> \`\`\`
> 
> \*\*Additional Context\*\*
> The motor / motor columns are not rendered since xacro inside px4 sitl doesn't seem to let you have multiple visual elements within the same link

#### Estimation

- Bugfix for regression on master

> <https://github.com/PX4/PX4-ECL/pull/747>
>
> replaces https://github.com/PX4/ecl/pull/746

> <https://github.com/PX4/PX4-ECL/pull/749>
>
> Fixes #745
> 
> replaces https://github.com/PX4/ecl/pull/747
> replaces https://git…hub.com/PX4/ecl/pull/748

### Community Q&A

- Remove mixer fro PX4IO (discussion)

[https://github.com/PX4/Firmware/issues/14142](https://github.com/PX4/Firmware/issues/14142)

* * *

## Errata and Feedback

Let me know below if I failed to capture anything the right way, and if there are any updates, or you have feedback on the call format.
