ee89f413914c067176ff00919e60fc2b.ppt
- Количество слайдов: 26
Barriers to Adopting Robotic Solutions Software Development and Integration in Robotics 2007 IEEE International Conference on Robotics and Automation Greg Broten Autonomous Intelligent Systems Section Greg. Broten@drdc-rddc. gc. ca Defence Research and Development Canada Recherche et développement pour la défense Canada
Overview • Background • DRDC Requirements • Candidate Solutions • Experiences • Barriers of Adoption • Conclusions Project 12 ph Defence R&D Canada • R & D pour la défense Canada
Background • Defence R&D Canada (DRDC) conducts basic research and development with respect to national security and defence matters. • Development of tele-operated vehicles began in the late 1980’s. Project 12 ph Defence R&D Canada • R & D pour la défense Canada
Background Project 12 ph Defence R&D Canada • R & D pour la défense Canada
Background • Emphasis switched to autonomy in 2002/03. • The Autonomous Intelligence Systems Section focuses on unmanned vehicles. – The Collective Intelligence Group - Autonomy. • A multi-disciplinary approach involving the collaboration of numerous researchers. • Long term focus that extents from research to product delivery. • Recognition that the software approach is critical. • Implementing autonomous capabilities is dominantly a software problem – “Treat Autonomous Navigation as a software problem” S. Thrun Project 12 ph Defence R&D Canada • R & D pour la défense Canada
DRDC Requirements • Robotics’ software requires: – Programming languages, compiler, operating system with longevity – Compatibility with other research institutions – Middleware – Component based: • Flexible, modular, scalable and extensible – Framework approach • The architecture emerges from the requirements • Open Source Tools Project 12 ph Defence R&D Canada • R & D pour la défense Canada
Software Development Environment • Influence by major robotics research centres: – C. M. U. , Stanford, Georgia Tech. , JPL and others • C/C++ programming language • Derived from Open Source software: – Linux – GNU GCC Tool chain Project 12 ph Defence R&D Canada • R & D pour la défense Canada
Candidate Solutions • Expended a significant effort examining the current state-of-the-art for robotics software • Reviewed and tested numerous robotics “solutions”: – Networking Middleware – Robotics Architectures/Frameworks • Even though the effort was significant, it was governed by time and resource limitations: – Not all avenues could be thoroughly investigated – Outside deadlines drove the timeline, which demanded a solution be selected within a reasonable time period Project 12 ph Defence R&D Canada • R & D pour la défense Canada
Networking Middleware • Subjectively evaluated middleware toolkits • Identified two trends: – Robotics-specific, IPC, IPT and RTC – Generic ACE, TAO, NDDS, ICE, . NET • Generic middleware is more flexible, but more complex • Specialized middleware offers less capabilities and is more efficient. • Middleware is usually associated with a robotics architecture. Project 12 ph Defence R&D Canada • R & D pour la défense Canada
Robotics Architectures/Frameworks • Reviewed robotics architectures with respect to DRDC’s requirements • High level, subjective review • Reviewed in late 2003 to early 2004 Project 12 ph Defence R&D Canada • R & D pour la défense Canada
Robotics Architectures/Frameworks • MARIE and ORCA were immature • CLARAty was unavailable • Only Player, Miro and Carmen were mature and freely available Open Source Open Tools Frameworks Middleware Player 3 3 3 1 2 3 Carmen 3 3 2 2 2 1 MARIE 3 3 2 2 3 1 Miro 3 3 3 1 Orca 3 3 3 1 CLARAty 1 ? ? 2 Project 12 ph Component Usage Based Defence R&D Canada • R & D pour la défense Canada
Experiences with Robotics Solutions • Examined and tested Architectures and their underlying Middleware: – Player – CARMEN and, – Miro • Subjective Evaluation of: – Installation Process – Introductory Usage – Capabilities Project 12 ph Defence R&D Canada • R & D pour la défense Canada
Installation • DRDC researchers installed and configured each candidate architecture • Average Linux users could install Carmen and Player • Miro, dependent upon ACE/TAO was the most difficult to install, and required more Linux skills Solution Self Contained Difficulty Miro No 3 Carmen Yes 1 Player Yes 1 Project 12 ph Defence R&D Canada • R & D pour la défense Canada
Introductory Usage • Player was the most user friendly • Miro was significantly more difficult to use • No simulator made it much harder to investigate • Carmen provided little documentation • Forced the user to look at the source Miro Player Carmen Documentation 2 3 1 Code Examples 1 2 1 Platforms 2 3 1 Drivers 2 3 1 Applications 2 3 2 Simulations 1 3 2 Project 12 ph Defence R&D Canada • R & D pour la défense Canada
Capabilities • Miro offered the most capabilities based upon the strong ACE/TAO middleware toolkits • Carmen, using IPC middleware, had potential • Player had limited capabilities, especially for multi-process implementations Miro Player Carmen Middleware Yes No Yes Middleware Capabilities 3 1 2 Messaging Paradigms 3 1 1 Components 3 2 1 Frameworks 3 2 2 Multi-Process 3 1 2 Project 12 ph Defence R&D Canada • R & D pour la défense Canada
Selection • DRDC considered adopting only Player and Miro Project 12 ph Defence R&D Canada • R & D pour la défense Canada
Implementation Experimented with both before selecting Miro • Adapted Miro to the Raptor UGV Project 12 ph Defence R&D Canada • R & D pour la défense Canada
Barriers to Adoption • From its experiences DRDC observed the following barriers to adoption: • Skill level of its personnel • Software complexity and learning curve • Level of documentation • Restrictive implementation Project 12 ph Defence R&D Canada • R & D pour la défense Canada
Personnel Skills • Multi-disciplinary team • Varied educations and skill sets: – Ph. D. s, M. Sc. s, Engineers and Technologists – Novice to in-depth software experience Robotics Controls Linux Windows Software Skills 1 5 3 1 1 2 5 5 1 4 5 4 3 1 5 5 4 1 5 0 3 0 0 5 5 4 5 4 6 5 1 0 4 5 2 7 5 5 0 2 1 0 8 5 1 5 2 5 4 9 0 0 5 4 5 5 10 0 3 0 4 11 0 2 0 1 12 0 Project 12 ph 1 0 2 0 Defence R&D Canada 0 • R & D pour la défense Canada
Software Complexity and Learning Curves A simple Player example int main(int argc, char **argv) { parse_args(argc, argv); using namespace Player. Cc; Player. Client robot(g. Hostname, g. Port); Position 2 d. Proxy pp(&robot, g. Index); Laser. Proxy lp(&robot, g. Index); pp. Set. Motor. Enable (true); for(; ; ) robot. Read(); } Project 12 ph Defence R&D Canada • R & D pour la défense Canada
Software Complexity and Learning Curves A not so simple Miro example int main(int argc, char *argv[]) Notify. Consumer: : Notify. Consumer( { // Create a server orb to find the events Event. Channel_ptr _ec, const string& domain. Name) : Miro: : Server server(argc, argv); Event. Channel_var ec( Structured. Push. Consumer(_ec), { server. resolve. Name<Event. Channel> Event. Type. Seq added, removed; ("Example. Event. Channel")); added. length(1); Notify. Consumer push. Consumer(ec. in(), added[0]. domain_name = domain. Name. c_str(); server. naming. Context. Name, delay); added[0]. type_name = "Example. Event"; server. run(); // Enter CORBA event loop. } set. Subscriptions(added); } Project 12 ph Defence R&D Canada • R & D pour la défense Canada
Software Complexity and Learning Curves void Notify. Consumer: : push_structured_event( const Structured. Event& notification ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw(System. Exception, Disconnected) { const Example. IDL *p. Event; if (notification. remainder_of_body >>= p. Event) cout << "Received event" << endl; } Project 12 ph Defence R&D Canada • R & D pour la défense Canada
Documentation • Robotics software is complex • Documentation plays a crucial role in: • Understanding the software’s philosophy and implementation • Providing examples that illustrate its usage • The user can not be expected to read the source code • Nor is a Doxygen reference sufficient • Experiences: • Player – Good • Miro – Acceptable • Carmen – Poor Project 12 ph Defence R&D Canada • R & D pour la défense Canada
Restrictive Implementations • Miro allows researchers to craft an appropriate implementation • Using ACE/TAO’s multiple messaging paradigms – Event driven – Or, client/server • By allowing multiple processes to co-operatively work together • Through the network transparent exchange of objects • Conversely, Player’s client /server topology forces a specific implementation Project 12 ph Defence R&D Canada • R & D pour la défense Canada
Conclusions • DRDC investigated and tested numerous robotics solutions. • Barrier to adoption were identified: – Personnel software skills – Complexity and learning curves – Highlighted the need for good Documentation – Restrictive implementations are a handicap • Work needs to be done: – At the DARPA Grand Challenge only 6 of 14 teams adopted an existing solution (middleware or architecture) • The community needs solutions as “user friendly” as Player, but with the capabilities of Miro. • The community needs a open source solutions that are as simple to use at Microsoft’s Robotics Studio. Project 12 ph Defence R&D Canada • R & D pour la défense Canada
Conclusions • The community needs “user friendly” solutions Project 12 ph Defence R&D Canada • R & D pour la défense Canada
ee89f413914c067176ff00919e60fc2b.ppt