Land, Sea and Air: The Application of JAUS and STANAG 4586 for Cross-Domain Unmanned Vehicle Control Mike Meakin, B. Sc., PMP President, InnUVative Systems Prepared for: Unmanned Systems Interoperability Conference San Diego, Oct 2010 1 Outline • • • • • • • Background Description of STANAG 4586 system Description of 4CE Control Station JAUS VSM Implementation Process Difficulties & Successes Encountered Path Forward for Interoperability Conclusion 2 Company Background • Software development company founded in January 2007 by three individuals with more than 19 years experience in the UAV software development industry • Specifically targeted at the unmanned vehicles industry – Specializing in UV software development • Using well recognized engineering practices within an established and controlled development environment – Follow fundamental project management principles as recognized by the Project Management Institute 3 Accomplishments • Member of STANAG-4586 Working Group • Developed STANAG-4586 Vehicle Specific Module (VSM) for the Joint Architecture for Unmanned Systems (JAUS) protocol – allows control of a JAUS compliant vehicle from a STANAG-4586 compliant UAV Control Station • Active with SAE AS-4 JAUS Committee defining JAUS standard • Integrated and flew Aeryon Labs Scout MAV with STANAG-4586 VSM • Member of Transport Canada UAV Working Group defining regulations for UAV operations in Canadian air space • Working with Singaporean customer to develop military UAV capability and ConOps including integration of CCI backend for data and control distribution • Developed and delivered Introductory UAV course for PMs, engineers and military officers in Singapore (2009 & 2010) • Currently integrating MicroPilot UAV autopilot, used by dozens of fixed wing and rotary wing UAVs • Working on Canadian Space Agency manipulator solution for Lunar rover 4 4CE Control Station© Software The Command, Control, Communications, Coordination and Execution (4CE) Control Station© from InnUVative Systems offers an affordable, STANAG-4586 compliant solution for all systems! 5 Description of 4586 System Elements • The 4CE Control Station© software is our flag ship product Payload – Command, Control, Communication, Coordination & Execution – It is compliant with STANAG 4586 Interoperability standard AV VSM CORE UCS CCI CCISM C4I SYSTEM HCI DLI • The Vehicle Specific Module (VSM) is really a System Specific Module as OPERATOR(S) it applies to sensors, datalinks and other systems as well – STANAG 4586 is a complex standard and is still undergoing changes so specialist knowledge is necessary – Likewise JAUS for ground vehicles • CCISM may be customer-specific 6 InnUVative Systems Software… • Hardware agnostic • OS agnostic (Windows & Linux) • Vehicle agnostic • Domain agnostic • Portable • Affordable • User Configurable • Intuitive 7 Simplified Interfaces This4586 Becomes thisa Usingcomplicated simplified interfaces to hide the underlying connection simplified complexitylogic… of the system, the operatoruser is able to quickly and easily place theinterface vehiclesfor and payloads connecting where he needs them to accomplish his mission. 8 Advanced Status Panel The Status Panel not only informs the operator when situations arise requiring their attention, it also supplies them with a fully interactive checklist wizard that guides them through the corrective action necessary for specific problems. 9 User Configurability The emergency checklist wizard is xml-based, allowing the user to modify it without coming back to InnUVative Systems. Likewise, the end user can define their own warning messages to post to the status panel using the STANAG 4586 warning message format. All source code developed for the customer is delivered to customer, along with the STANAG 4586 message set libraries. This allows the customer to modify their protocol and map the changes to the 4586 message setor even generate a system-specific dialog- without engaging InnUVative Systems 10 JAUS VSM Implementation: Requirements • The SysML approach allowed the two ICDs to be placed into the same format for increased ease in mapping of ICD elements, despite the fact that the two ICDs were constructed in totally different manners: 11 JAUS VSM Implementation: Requirements • Reviewing the two ICDs side-by-side certainly highlights the differences between the two: – JAUS assumed commands such as iris and gain settings and location wrt CofG for a camera that STANAG does not include as part of its basic message set – JAUS assumes information such as the platform boundaries, platform geometry, turn radius, static rollover limit, etc. would be important – STANAG assumes barometric pressure is important information to be exchanged • Each protocol clearly reflected it’s heritage… • The JAUS protocol was well-suited to supporting intra-system “plug n play” hardware and utilizes protocol extensibility via use of “experimental” messages to achieve this • STANAG protocol is designed with inter-system interoperability as its explicit goal and uses abstraction via the use of standard graphical interfaces to achieve this • The conclusion was that JAUS is truly a well thought out architecture with a protocol that is extensible while STANAG is a truly well thought out 12 protocol with little to no aspirations as an architecture… JAUS VSM Implementation: Requirements • The original intent was to make this exercise as challenging to a VSM implementation as possible: – Identified specific datalink, vehicle and manipulator messages to support • Opportunity arose with a vehicle manufacturer who was interested in using our VSM for a sea vehicle demo – Modified version of STANAG from 2.1 to 2.4 and JAUS from 3-2 to 3-3 – Also changed manipulator messages for camera messages • Set of JAUS messages supported (uplink and downlink): – 10 of 23 system messages; – 4 of 8 datalink messages (start/ stop, hi/ low power, point, etc. supported); – 10 of 41 vehicle messages (steering, attitude, engine and waypoint supported); – 6 of 18 camera messages (pointing, zoom, focus, etc. supported) – Zero manipulator messages • No support for service connections (just queried periodically)13 this accounted for most of the unsupported system messages Difficulties & Successes Encountered • Change to STANAG 4586 version and modification to target messages for JAUS – The lack of backwards compatibility- even from STANAG 2.1 to 2.4made this kind of switch non-trivial – Use of the SysML approach to requirements shielded the developers from these issues • Ambiguity in ICDs – Vehicle_ID_Update: “This is the vehicle ID that will be replace the current Vehicle ID” this was corrected but is an example of the issues found when actually implementing an ICD for real • STANAG Connection Logic – Need sequence diagram and use cases to explain – Intent of virtual vehicles may not be needed in real life… • SVN proved very capable of rolling back code when needed • Support for Presence Vector within JAUS was not clearly 14 understood by developers in first implementation Results of JAUS VSM Implementation As a measure of the VSM capability itself, we had: • A total of 321 tests were developed and executed for the VSM, with only12 failures (only minor functionality) for a 96.3% pass rate • The EA tool allowed explicit checks of traceability to ensure that all requirements have both a “Realization” link and a “Test” link • The level of effort expended for this development effort was approximately one person year – This yielded not only a functional JAUS VSM but also two test tools and a reusable code base that makes the futureVSM development much faster and lower risk 15 The Future of Interoperability • Based on our experience of developing this System Specific Module for JAUS, InnUVative Systems has developed an approach to interoperability between the two standards that allows a high degree of supported functionality between units, even in the absence of specific training on a given vehicle or system... 16 4586 UAV Interoperability Combined UAV Combat Operations It’s useful for the soldier to know: • There is a fire fight two blocks North • A bridge is out three blocks East • Etc. •Giving the soldier an organic air capability is important •Allowing that organic air capability to leverage off wide area surveillance platforms allows him to put what he sees into context with the wider battle… Mixed assets: •C7 •mortars and •artillery Likewise: •micro/ small •tactical and •MALE UAVs Need mixed assets for different tasks 17 Interoperability with STANAG 4586 In this example, every fielded MAV system (e.g. 3500 Ravens) becomes an RVT for every 4586 tactical or MALE (e.g. Sky Warrior) vice the half dozen or so RVTs currently available for each tactical/ MALE system STANAG 4586 Core Msg Vehicle Specific STANAG 4586 Core Msg Vehicle Specific Vehicle Specific Module STANAG 4586 Compliant control station with no Vehicle Specific Module • Level of Interoperability 3/4 (~80% mission capability after launch) STANAG 4586 Compliant control station with Vehicle Specific Module • Level of Interoperability 5 (FULL) 18 Interoperability • It is important to note that the common protocol solution is only one part of the interoperability problem 1. Need common waveform solution (STANAG 7085 TCDL, STANAG 4660 Common C2 link, etc.) 2. For given control station, features supported by common protocol are presented as the same user interface across all systems • • Allows operators untrained on specific systems to safely take control knowing system will behave as expected Greatly reduces delta training as new UV systems are added 19 Cross Domain Interoperability Combined UGV/ UAV Combat Operations •Giving the soldier the ability to see what threats are around the corner has been extremely important •The next step is to relieve the soldier of having to be first around the corner to address the threat • Some systems have already anticipated the push to arm UGVs •Integration of armed UGVs- via JAUS or native protocol- into STANAG 4586 allows the combined operations goal identified in the UAS Roadmap from OSD 20 STANAG 4586/ JAUS Interoperability Use of domain agnostic control and status interfaces is key to allowing operator control of different systems STANAG 4586 Core Msg JAUS Core Msg Vehicle Specific JAUS Experimental Msg Support for JAUS Core message set allows operation of most of a mission even by operators unfamiliar with the system Vehicle Specific Module JAUS VSM STANAG 4586 Compliant control station with JAUS VSM • Level of Interoperability 3/4 (~80% 21 of mission??) STANAG 4586/ JAUS Interoperability By adding a vehiclespecific plug-in, the JAUS control set can be expanded to support the full vehicle functionality STANAG 4586 Core Msg JAUS Core Msg Vehicle Specific JAUS Experimental Msg Vehicle Specific Module JAUS VSM An additional plug-in translates the JAUS Exp Msg set to 4586 and VSM GUI Veh Spec Module STANAG 4586 Compliant control station with JAUS VSM + Veh specific tranlsation 22 • Level of Interoperability 5 (FULL) Harmonization of 4586 & JAUS • Not surprisingly, there is a large overlap between the two core message sets already • Coordination between the two standards authorities could further increase this overlap, thus improving interoperability between systems, even in the absence of vehicle-specific support JAUS Message Set 4586 Message Set 23 Conclusions • Interoperability between STANAG 4586 and JAUS is possible to a significant degree right now • Greater interoperability is inevitable in the future • The two standards do not have to be treated as competitive but can instead be complementary • Coordination between the two standards bodies could define a largely common core message set that supports the “~80% mission” via the core message sets only – This then supports many of the inter-unit and international interoperability goals on an opportunistic basis! • Use of a common control station supporting domainagnostic control interfaces will allow interoperation 24 with low risk and very low training overhead Join us in November at the Unmanned Systems Canada conference in Montreal 25 Questions? 26