The document you referenced is the ESC network service specification you are looking for. It is not yet stable (it’s v0.1 at the moment), but it is complete and there is a chance that it will make it to v1.0 with no substantial changes.
The document has a diagram that is intended to explain how to implement and use the service:
# SUBJECT
# NAME SUBJECT TYPE SUBJECT-ID
# +----------------+
# | Controller |---------+------------+----... setpoint reg.drone.service.actuator.common.sp.* S
# | |-------+-)----------+-)----... readiness reg.drone.service.common.Readiness S+1
# +----------------+ | | | |
# ^ ^ ^ ^ ^ ^ ^ ^ v v v v
# | | | | | | | | +---------+ +---------+
# | | | | | | | | |Drive i=0| |Drive i=1| ...
# | | | | | | | | +---------+ +---------+
# | | | | | | | | | | | | | | | |
# | | | | | | | +-----+ | | | | | | | feedback reg.drone.service.actuator.common.Feedback S+(i+1)*5+1
# | | | | | | +---------+ | | | | | | status reg.drone.service.actuator.common.Status S+(i+1)*5+2
# | | | | | +-------------+ | | | | | power reg.drone.physics.electricity.PowerTs S+(i+1)*5+3
# | | | | +-----------------+ | | | | dynamics reg.drone.physics.dynamics.rotation.PlanarTs S+(i+1)*5+4
# | | | | | | | |
# | | | +---------------------------+ | | |
# | | +-------------------------------+ | |
# | +-----------------------------------+ |
# +---------------------------------------+
For example, if you need to publish a setpoint for a group of six ESC, you publish a message of type reg.drone.service.actuator.common.sp.Vector6.0.1
; if you want RPM and such, you subscribe to six subjects (one per ESC) of type reg.drone.physics.dynamics.rotation.PlanarTs.0.1
; and so on.
It is also possible to apply constraints on acceleration, speed, and torque, but for that, you will need to also support the Servo service (it is very similar to ESC).
Configuration parameters are currently not regulated by DS-015 (neither they were in v0), but this may change at some point in the future if there is interest.