Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Discussion] Integrated companion/fc pulled out #2250

Draft
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

hamishwillee
Copy link
Collaborator

@bkueng Following our discussion on "longer term having a section on integrated FC/Companion" I thought I'd have a look at what it might look like. Essentially this makes the integrated fc/companion a peer of autopilots and cross links to the companion section for the software setup.

image

  1. Is this OK/better/worth doing now.
  2. Are there any other solutions like this you know of?

I am not 100% convinced of this; after all, there are other solutions that are "advanced", like running PX4 on a companion. Also it gets complicated if we start having non-Pixhawk FCs in these things.

Another possibility is to do (something like) this:

image

ie. moving FC and FC/Companion as the top level and having peripherals etc underneath. I don't think we need to consider this right now.

PX4BuildBot and others added 8 commits January 23, 2023 14:20
* New translations land_detector.md (German)

* New translations land_detector.md (Japanese)

* New translations land_detector.md (Korean)

* New translations land_detector.md (Russian)

* New translations land_detector.md (Turkish)

* New translations land_detector.md (Chinese Simplified)

* New translations pixhawk6x.md (German)

* New translations pixhawk6x.md (Japanese)

* New translations pixhawk6x.md (Korean)

* New translations pixhawk6x.md (Russian)

* New translations pixhawk6x.md (Turkish)

* New translations pixhawk6x.md (Chinese Simplified)
Auterion changed where the flash_emmc.sh file was located.  I have updated the read me to show the correct location.  \home\px4vision\catkin_ws\src\px4vision_ros\tools\flash_emmc.sh
Fix dependancy list and typos
* New translations video_streaming_wifi_broadcast.md (German)

* New translations px4_vision_kit.md (Japanese)

* New translations video_streaming_wifi_broadcast.md (Japanese)

* New translations px4_vision_kit.md (Korean)

* New translations video_streaming_wifi_broadcast.md (Korean)

* New translations px4_vision_kit.md (Russian)

* New translations video_streaming_wifi_broadcast.md (Russian)

* New translations px4_vision_kit.md (Turkish)

* New translations video_streaming_wifi_broadcast.md (Turkish)

* New translations px4_vision_kit.md (Chinese Simplified)

* New translations video_streaming_wifi_broadcast.md (Chinese Simplified)
From #2231 (comment) - the file is created by default on systems that support it.
Copy link
Member

@bkueng bkueng left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this OK/better/worth doing now.

hmm it's probably not needed yet. Right now I tend towards the second solution.

Are there any other solutions like this you know of?

Skynode :)


The companion computer and flight controller must be set up to communicate with each other (typically using MAVLink and ROS2, over Ethernet or a serial port), and may also be set up to communicate with ground controllers, cloud and other systems.

The setup depends on the companion computer and its operating system, and how the companion and flight controller are connected.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is still a bit further out but ideally we'll standardize this as well, so there's a common way to update and run components (e.g. avoidance or a custom ros flight mode).

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Certainly it would be good if the PX4 project had a recommended companion OS and update method for that OS. That would make it possible to have turnkey instructions and CI testing that would work for 80% of the world.

Everyone seems to want their own OS though, so perhaps all that would need to be containerized?

Anyway, not my problem to solve.

@hamishwillee hamishwillee changed the title Integrated companion/fc pulled out [Discussion] Integrated companion/fc pulled out Jan 25, 2023
@hamishwillee hamishwillee marked this pull request as draft January 25, 2023 23:36
@hamishwillee
Copy link
Collaborator Author

hamishwillee commented Jan 25, 2023

Thanks @bkueng . PX4 hasn't really "committed" to the companion software stack; my thinking was that this is not needed yet, but if I do this it might help encourage adoption? Make the hardware accessible and the software standardization will come?

Option 2 is also good, and long term better. I'll leave this open in draft and perhaps look at this again.

Are there any other solutions like this you know of?

Skynode :)

Well, it's custom PX4 build with a sandboxed proprietary container for software development. So you might argue that it isn't "PX4" at all from a development point of view.
I guess this might be something you had in a "Turnkey companion solutions" section? More for marketing that PX4 is used than for actual PX4 development. Bit like the things in this list: http://docs.px4.io/main/en/complete_vehicles/#fully-assembled-custom-px4

@hamishwillee
Copy link
Collaborator Author

FYI @julianoes , just added you in case you had interest/thoughts on companion computer structuring. I'm also leaning towards "option 2" in the description.

@bkueng
Copy link
Member

bkueng commented Jan 26, 2023

Well, it's custom PX4 build with a sandboxed proprietary container for software development. So you might argue that it isn't "PX4" at all from a development point of view.
I guess this might be something you had in a "Turnkey companion solutions" section? More for marketing that PX4 is used than for actual PX4 development. Bit like the things in this list: http://docs.px4.io/main/en/complete_vehicles/#fully-assembled-custom-px4

You can use it with upstream PX4, and some people do. But yes the companion is currently largely proprietary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants