At the call today we were discussing my recent changeset to the DSDL repository and its key architectural decisions. A solid workflow requires that all participants of the DS-015 workgroup are up to date on the high-level technical requirements and on the best applicable practices. It may be sensible to split the workgroup into two levels: one defines the high-level business requirements, the other develops the appropriate technical solutions.
master
← ds-015-initial
opened 09:41PM - 22 Sep 20 UTC
This PR brings in the first iteration of domain-specific services for drones. Th… e background is explained on the forum at https://forum.uavcan.org/t/ds-015-mvp-progress-tracking/936.
This design is optimized for CAN FD and more capable transports (such as UAVCAN/UDP or UAVCAN/serial), but it is, nevertheless, compatible with Classic CAN. See this spreadsheet for more info: https://docs.google.com/spreadsheets/d/1xSBcnnqbHBEZfFg4cqiS1weXHwX3X0MFWpW1WcEBIds/edit
Every definition here bears version number v0.1, meaning that nothing is release-ready yet. We will start stabilizing things as soon as production systems leveraging these services will start being released.
Related thoughts: https://forum.uavcan.org/t/on-multi-agent-services-and-design-guidelines/947
GitHub does not (yet) support syntax highlighting for DSDL files, so I recommend viewing the files locally using VSCode with the [uavcan.dsdl](https://marketplace.visualstudio.com/items?itemName=Uavcan.dsdl) extension. Just clone this repo and open its directory in VSCode, then accept all recommended extensions.
https://docs.google.com/spreadsheets/d/1xSBcnnqbHBEZfFg4cqiS1weXHwX3X0MFWpW1WcEBIds/edit#gid=0
The UAVCAN Guide says this:
A service may be designed in such a way where it is provided by a group of identical collaborating agents with strong logical cohesion . In this case, we admit that the means of differentiating said identical agents from each other belong to the business domain, and as such, the service specification should contain the necessary provisions for that. We call such designs multi-agent services . […] As a practical example of a multi-agent service, consider the propuls…