Design and Evaluation of Communication Middleware in a Distributed Humanoid Robot Architect
- 格式:pdf
- 大小:265.68 KB
- 文档页数:8
Introduction:The Design Manager's Management System is designed to provide a comprehensive framework for the effective management of design teams and projects. This system aims to ensure that the design process is streamlined, efficient, and aligned with the organization's goals. The following template outlines the key components of the Design Manager's Management System.1. Role and Responsibilities:Design Manager:- Oversee the design team's operations and ensure the delivery of high-quality design projects.- Develop and implement design strategies that align with the organization's objectives.- Manage and mentor design team members, fostering a positive and collaborative work environment.- Maintain communication with stakeholders to ensure project requirements are met.- Ensure adherence to design standards and best practices.Design Team Members:- Collaborate with the design manager to execute design projects.- Contribute creative ideas and solutions to projects.- Follow project timelines and deliverables.- Participate in team meetings and brainstorming sessions.- Seek feedback and continuously improve design skills.2. Design Process:Project Initiation:- Define project scope, objectives, and deliverables.- Assemble a project team with the necessary skills and expertise.- Establish a project timeline and budget.Research and Conceptualization:- Conduct market research and competitive analysis.- Generate creative concepts and ideas.- Present concept proposals to stakeholders for feedback.Design Development:- Refine chosen concepts based on stakeholder feedback.- Create detailed design drafts, ensuring alignment with project requirements.- Iterate on designs until final approval is obtained.Production and Delivery:- Finalize design files for production.- Coordinate with production teams for printing, manufacturing, or other production processes.- Ensure timely delivery of final design products.3. Communication and Collaboration:Regular Meetings:- Schedule weekly or bi-weekly team meetings to discuss project progress, challenges, and updates.- Hold monthly or quarterly meetings with stakeholders to review project status and gather feedback.Documentation:- Maintain detailed project documentation, including design briefs, timelines, and meeting minutes.- Use project management tools to track progress and manage tasks.Feedback and Evaluation:- Encourage open communication and feedback within the team.- Conduct regular performance evaluations to assess individual and team achievements.4. Performance Metrics and KPIs:Design Quality:- Measure the quality of design outputs against established criteria.- Use client feedback and industry standards as benchmarks.Project Timelines:- Track project completion times against set deadlines.- Analyze delays and identify root causes for improvement.Team Productivity:- Monitor individual and team productivity through task completion rates and time management.- Implement training and development programs to enhance team capabilities.5. Policies and Procedures:Intellectual Property:- Define ownership and usage rights for design assets.- Ensure compliance with copyright and trademark laws.Conflict Resolution:- Establish a process for resolving conflicts within the design team.- Maintain a neutral and fair approach to conflict resolution.6. Continuous Improvement:Training and Development:- Provide regular training sessions for team members to enhance their design skills and industry knowledge.- Encourage continuous learning and professional development.Performance Review:- Conduct annual performance reviews to evaluate the effectiveness of the Design Manager's Management System.- Implement changes and improvements based on feedback and performance data.Conclusion:The Design Manager's Management System is a dynamic framework that can be adapted to suit the specific needs of any design organization. By following this template, design managers can ensure that their teams are aligned, efficient, and capable of delivering exceptional design solutions.。
Wireless Communication Principles and Applications Course Design: Second Edition in English IntroductionWireless communication has become a ubiquitous technology almost in every facet of life. It allows people to communicate with each other, devices to be connected wirelessly, and many more. Studying wireless communication principles and applications is an essential subject in electrical engineering. This course design ms to provide students with hands-on experience in designing and implementing wireless communication systems.Learning ObjectivesBy the end of this course, students will be able to: - Understandthe fundamentals of wireless communication - Design and implement wireless communication systems - Analyze and evaluate wireless communication systems - Apply knowledge and skills to solve practical problems - Collaborate and communicate effectively within a team Course OutlineWeek 1: Introduction to Wireless Communication•History of wireless communication•Basic concepts and terminology•Frequency bands and standardsWeek 2: Signal Transmission and Propagation•Electromagnetic waves and their properties•Transmission mediums and propagation models•Antenna theory and designWeek 3: Modulation Techniques•Analog and digital modulation techniques•Amplitude modulation and demodulation•Frequency modulation and demodulationWeek 4: Wireless Networks•Wireless communication standards and protocols•Network topologies and architectures•Wireless local area networks (WLAN) and their applications Week 5: Cellular Networks•Cellular network structure and components•Frequency reuse and cell planning•Mobile communication generations and their evolutionWeek 6: Wireless Communication Security•Security threats and vulnerabilities in wireless communication•Encryption and decryption techniques•Authentication and access control mechanismsWeek 7: Wireless Communication Applications•Internet of Things (IoT) and Smart Cities•Wireless sensor networks•Wireless power transfer and wireless chargingWeek 8: Course Project•Students will work in groups to design and implement a wireless communication system•The project includes system design, hardware and software implementation, testing and evaluation, and project report writing.AssessmentAssessment will be based on the following: - Class participation: 10% - Assignments and quizzes: 40% - Final project: 50%ConclusionThis course design has highlighted the essential topics thatstudents will learn during this Wireless communication principles and applications course. It provides a comprehensive guide on how to design and implement wireless communication systems, which is a fundamental course for electrical engineering students.。
Digital Communication 4th Edition English VersionTeaching PlanBackgroundDigital communication is an essential part of modern communication systems. With the advent of increasingly sophisticated digital technologies, it can be challenging to keep up with the latest advancements in the field.The fourth edition of Digital Communication, written by Simon Haykin, has been updated to include the latest research findings on digital communication. The text is designed to provide students with a comprehensive understanding of the principles and applications ofdigital communication systems.Course ObjectivesThe primary objective of this course is to provide students with a practical understanding of digital communication systems. At the end of the course, students should be able to:1.Expln the fundamental principles of digital communicationsystems2.Understand the advantages and disadvantages of digitalcommunication as compared to analog communication3.Understand the design and implementation of various digitalcommunication systems4.Appreciate the challenges of designing digital communicationsystems in the presence of noise and interferenceCourse OutlineModule 1: Introduction to Digital Communication•Definition of digital communication•Advantages and disadvantages of digital communication•Sampling and quantization processes•Pulse code modulationModule 2: Digital Transmission•Baseband binary transmission: unipolar, polar, and bipolar signaling schemes•Line coding: Manchester and differential Manchester encoding •Carrier-based transmission: amplitude, phase, and frequency modulation•Quadrature amplitude modulationModule 3: Digital Reception•Demodulation and detection techniques•Detection of digital signals in the presence of noise•Error control coding: Block and convolution coding•InterleavingModule 4: Digital Communication System Design•Design of digital communication systems•Performance evaluation of digital communication systems•The effect of multipath fading on digital communication systemsModule 5: Advanced Topics in Digital Communication•Spread spectrum techniques•Multiple access techniques: FDMA, TDMA, CDMA•Introduction to digital signal processing in digital communication systemsCourse MaterialsThe following textbook will be used as the primary source for this course:Haykin, S. (2014). Digital Communication (4th ed.). John Wiley & Sons.In addition to the textbook, students will also be provided with supplementary reading materials, including journal papers, research articles, and web resources.Course AssessmentThe course assessment will be based on the following components:1.Assignments (20%)2.Midterm examination (30%)3.Final examination (50%)The assignments will be designed to reinforce the concepts covered in each module. The midterm and final examinations will test the students’ understanding of the complete course material.ConclusionDigital communication is a vital area of modern communication systems. This course is designed to provide students with a comprehensive understanding of the principles and applications of digital communication systems. It is hoped that by the end of this course, students will have a practical understanding of the challenges and opportunities associated with digital communication systems.。
大学英语教学指南2020 教育部全文共3篇示例,供读者参考篇1College English Teaching Guide 2020The Ministry of Education has released a comprehensive guide for teaching college English in 2020. This guide aims to provide educators with the latest strategies and methodologies to improve the quality of English language instruction at the university level. It emphasizes the importance of integrating various teaching approaches, technologies, and assessment methods to create a dynamic and engaging learning environment for students.The guide highlights the importance of developing students' language skills in listening, speaking, reading, and writing. It recommends a communicative approach to language teaching, where students are encouraged to actively engage in real-life communication tasks to improve their language proficiency. In addition, the guide suggests using authentic materials such as news articles, videos, and podcasts to expose students toreal-world English language use.Furthermore, the guide emphasizes the need for incorporating technology into English language teaching. Educators are encouraged to use digital tools and resources, such as online learning platforms, virtual reality simulations, and language learning apps, to enhance students' learning experiences. These technologies can help create interactive, personalized, and student-centered learning environments that cater to different learning styles and preferences.The guide also provides recommendations for assessing students' language proficiency. It suggests using a combination of formative and summative assessment methods, such as quizzes, exams, presentations, and projects, to evaluate students' language skills and progress. Educators are encouraged to provide constructive feedback to help students improve their performance and develop their language abilities.Overall, the College English Teaching Guide 2020 from the Ministry of Education serves as a valuable resource for educators looking to enhance their English language teaching practices at the university level. By following the recommendations outlined in the guide, educators can create engaging and effective language learning experiences that empower students to achieve their language learning goals.篇2College English Teaching Guide 2020IntroductionThe College English Teaching Guide 2020 is a comprehensive document issued by the Ministry of Education of China. It aims to provide guidance and support for college English teachers in delivering effective and quality education to students. With the increasing importance of English proficiency in today's globalized world, the guide emphasizes the need for innovative and student-centered teaching methods.Key Changes and UpdatesOne of the key changes introduced in the College English Teaching Guide 2020 is the emphasis on communicative language teaching. This approach encourages students to actively engage in meaningful communication in English, rather than focusing solely on grammar and vocabulary drills. Teachers are encouraged to create communicative activities that simulate real-life situations, allowing students to practice and develop their language skills in authentic contexts.Another important update in the guide is the integration of technology in English language teaching. With the rapidadvancement of digital technology, the guide recognizes the importance of incorporating online resources, multimedia tools, and interactive platforms in the classroom. Teachers are encouraged to use various technology-based resources to enhance student engagement, facilitate language learning, and provide personalized feedback.Furthermore, the College English Teaching Guide 2020 emphasizes the importance of fostering critical thinking and creativity in language education. Teachers are encouraged to design tasks and activities that require students to analyze, evaluate, and create new knowledge. By promoting higher-order thinking skills, students are better equipped to communicate effectively in English and to think independently.Teaching Strategies and MethodologiesThe guide provides a range of teaching strategies and methodologies to help college English teachers enhance their pedagogical skills. It outlines effective approaches to lesson planning, classroom management, and assessment practices. Teachers are encouraged to create a supportive and inclusive learning environment that caters to the diverse needs and learning styles of students.In addition, the guide offers guidance on incorporating authentic materials, such as news articles, videos, and podcasts, into the curriculum. By exposing students to real-world content, teachers can help them develop their language skills and cultural awareness. Authentic materials also provide opportunities for students to explore current issues, develop critical thinking skills, and engage in meaningful discussions.Assessment and EvaluationThe College English Teaching Guide 2020 highlights the importance of fair and transparent assessment practices. Teachers are encouraged to use a variety of assessment methods, including formative assessment, summative assessment, and self-assessment. By providing regular feedback to students, teachers can monitor their progress, identify areas for improvement, and support their language development.Moreover, the guide emphasizes the use of rubrics and criteria-based assessment to ensure objectivity and consistency in evaluation. Teachers are encouraged to establish clear learning objectives and performance criteria, which can help students understand their expectations and track their own progress. By involving students in the assessment process,teachers can promote self-regulated learning and empower students to take ownership of their learning.ConclusionThe College English Teaching Guide 2020 offers valuable insights and resources for college English teachers to enhance their teaching practices. By embracing communicative language teaching, integrating technology, and promoting critical thinking skills, teachers can create engaging and effective learning experiences for students. With the support of the guide, teachers can inspire students to become confident and proficient English speakers in today's globalized world.篇3A Guide to College English Teaching in 2020With the advancement of globalization and the increasing importance of English as a Lingua Franca, the role of college English teaching has become more crucial than ever. The Ministry of Education has released a comprehensive guide for college English teaching in 2020, aiming to enhance the quality of English education in higher institutions across China.1. Curriculum Design:The guide emphasizes the importance of a well-structured and comprehensive curriculum that covers all aspects of language learning including listening, speaking, reading, and writing. The integration of cultural elements and real-life situations into the curriculum is also encouraged to make the learning experience more engaging and practical for students.2. Teaching Methods:In order to meet the diverse needs of students, instructors are advised to adopt a variety of teaching methods such as communicative language teaching, task-based learning, and peer collaboration. Interactive and student-centered approaches should be prioritized to encourage active participation and enhance students' language competency.3. Technology Integration:The guide advocates for the integration of technology in English teaching to create a more interactive and dynamic learning environment. Online platforms, educational apps, and multimedia resources should be utilized to provide students with additional learning opportunities and enhance their engagement with the language.4. Assessment and Evaluation:Fair and transparent assessment practices are crucial in ensuring the effectiveness of English teaching. The guide recommends the use of both formative and summative assessments to evaluate students' language proficiency and monitor their progress over time. Continuous feedback and personalized support should be provided to help students improve their English skills.5. Professional Development:Continuous professional development is essential for college English teachers to stay updated with the latest teaching methodologies and trends. The guide encourages instructors to participate in workshops, seminars, and conferences to enhance their teaching skills and share best practices with their peers.6. Cultural Exchange Programs:To cultivate students' cross-cultural awareness and communication skills, the guide promotes the establishment of cultural exchange programs with English-speaking countries. Collaborative projects, international conferences, and student exchange programs can provide students with valuable opportunities to interact with native speakers and immerse themselves in authentic English language environments.In conclusion, the Ministry of Education's guide for college English teaching in 2020 serves as a roadmap for instructors to enhance the quality of English education in higher institutions. By following the recommendations outlined in the guide, colleges can create a more stimulating and effective learning environment that fosters students' language proficiency and intercultural competence.。
设计方案的英文怎么说The Design SolutionIntroduction:The design solution is a comprehensive plan developed to address a specific problem or challenge. It involves a systematic approach to identifying, analyzing, and resolving the issue at hand. In this article, we will discuss a design solution for a hypothetical problem and provide a step-by-step process for its implementation. Problem Statement:The problem we are addressing is the lack of efficient waste management in a residential area. The current system is inadequate, resulting in increased pollution, health hazards, and a negative impact on the quality of life for the residents. The objective of the design solution is to create a sustainable and effective waste management system, ensuring proper disposal and recycling of waste materials.Design Solution:1. Research and Analysis: The first step in the design solution is to conduct a thorough analysis of the current waste management system. This includes studying the types and quantities of waste generated, identifying potential sources of contamination, and assessing the existing infrastructure and facilities. Additionally, research must be done to understand best practices and innovative technologies in waste management.2. Stakeholder Engagement: Engaging with all stakeholders isessential for the successful implementation of the design solution. This includes participation from residents, government officials, waste management authorities, and environmental organizations. Their input and ideas are valuable in shaping the design solution and ensuring its long-term feasibility.3. Design Development: Based on the research and stakeholder engagement, a detailed design plan must be developed. This plan should address the following key aspects:a. Waste Segregation: Implement a waste segregation system at source, encouraging residents to separate their waste into recyclable and non-recyclable categories. This will make it easier for subsequent waste management processes.b. Recycling Infrastructure: Set up recycling infrastructure to process and convert recyclable waste into useful products. This includes establishing recycling plants and collaborating with local businesses to promote the use of recycled materials.c. Waste Disposal: Improve waste disposal facilities to ensure proper disposal of non-recyclable waste. This may involve building waste treatment plants, landfills, or exploring alternative methods such as waste-to-energy conversion.d. Awareness and Education: Develop educational programs to raise awareness among residents about the importance of waste management and the proper practices to adopt. This can be done through workshops, campaigns, and informative materials distributed to households.e. Monitoring and Evaluation: Implement a monitoring system to assess the effectiveness of the design solution. This includes tracking waste generation, recycling rates, pollution levels, and resident satisfaction. Regular evaluation will help identify areas for improvement and ensure the solution remains sustainable in the long run.4. Implementation and Execution: Once the design plan is finalized, it needs to be implemented in a phased manner. This includes acquiring necessary funding, securing permits and licenses, and mobilizing resources. Smooth execution is crucial, with regular communication and coordination among all stakeholders involved.5. Continuous Improvement: The design solution is not a one-time project but an ongoing process. Continuous improvement should be the goal, with periodic reviews and updates to adapt to changing circumstances and emerging technologies.Conclusion:The design solution presented above offers a strategic and practical approach to address the challenge of inefficient waste management in a residential area. By following a systematic process of research, stakeholder engagement, design development, implementation, and continuous improvement, a sustainable waste management system can be established. This solution aims to minimize environmental impact, improve the quality of life for residents, and create a cleaner and healthier community.。
好的设计与实施方案英文Good Design and Implementation PlanDesigning and implementing a good plan is crucial for the success of any project. It requires careful consideration of various factors and a well-thought-out strategy to ensure that the plan is not only effective but also efficient. In this document, we will discuss the key elements of a good design and implementation plan and provide some practical tips for creating one.First and foremost, a good design and implementation plan should have a clear and specific goal. This goal should be well-defined and measurable, so that progress can be tracked and evaluated. It is important to have a clear understanding of what the plan aims to achieve and how success will be measured.Secondly, a good plan should take into account the resources available for implementation. This includes not only financial resources, but also human resources, time, and technology. It is important to assess what is available and what is needed in order to achieve the desired outcome. This will help in creating a realistic and achievable plan.Another important aspect of a good design and implementation plan is risk assessment and mitigation. It is important to identify potential risks and develop strategies to mitigate them. This may involve developing contingency plans, setting up monitoring systems, or creating alternative solutions. By being proactive in addressing potential risks, the plan is more likely to be successful.Furthermore, a good plan should be flexible and adaptable. It is important to recognize that circumstances may change and that adjustments may need to be made along the way. By building flexibility into the plan, it can better respond to unexpected challenges and changes in the environment.In addition, communication is key to the successful implementationof any plan. It is important to clearly communicate the plan to all stakeholders and ensure that everyone understands their roles and responsibilities. Regular communication and feedback are also important for monitoring progress and making adjustments as needed.Finally, a good design and implementation plan should be supportedby a solid monitoring and evaluation system. This involves setting up clear indicators and benchmarks for measuring progress, as well as regular reviews to assess the effectiveness of the plan. This will help to ensure that the plan stays on track and that any necessary adjustments can be made in a timely manner.In conclusion, a good design and implementation plan is essential for the success of any project. By carefully considering the goals, resources, risks, flexibility, communication, and monitoring and evaluation, a plan can be developed that is not only effective but also adaptable and sustainable. With a well-thought-out plan in place, the chances of success are greatly increased.。
标书中英文翻译样本及常用词汇1. 投标书Tender1.1 投标人应完整地填写招标文件中提供的商务投标书、技术投标书、投标一览表和投标报价表(包括投标报价汇总表和分项报价表)。
价格表(表中项目除价格数字外都要填写)及报价说明三份(一正二副)和投标人银行保函应分别单独密封,随投标文件一同递交。
Among the tender documents, tenderers shall fill out completely the Business Tender, Technical Tender, Tender List and Tender Quotation. The Quotation (all items in the Quotation shall be filled out except for the prices) and three copies (one Original and two Duplicates) of the Instructions to Quotations as well as the letter of guarantee from the bank of tenderers must be sealed separately, and be submitted together with the tender documents.1.2 在投标文件澄清后提交的附件6价格表部分正、副本应用信封单独密封,封面上注明项目名称、招标编号、投标人名址、“正本”“副本”字样及“分项价格”和“保密”字样。
同时提供单独密封的价格表电子版本一份(WORD格式)。
The Attachment 6 to be submitted after the tender documents have been clarified the Original and Duplicate copies of the Quotation must be sealed separately in different envelops, on which the item names, tender codes, tenderer addresses, words of ‘Original’, ‘Duplicate’ and ‘Item Price’ and ‘Confidential’ must be written. An e-version of the Quotation (in WORD format) that is separately sealed must be furnished at the same time.2. 投标报价Tender Offers2.1 投标人应在投标报价汇总表和投标分项报价表上标明本合同拟提供货物的单价(如适用)和总价。
Abstract—Distributed architectures for implementing tasks on humanoid robots is a design challenge, both in theory and practice. Although important functionality resides within the component modules of the system, the performance of the middleware – the software for mediating information between modules – is critical to overall system performance. We have designed an architecture serving various functional roles and information exchange within a distributed system, using three different communication subsystems: the Cognitive Map (CogMap), Distributed Operation via Discrete Events (DiODE), and Multimodal Communication (MC). The CogMap is implemented in Psyclone, a framework for constructing large AI systems, and allows sharing and transformation of information streams dynamically between modules. DiODE provides a direct connection between two modules while MC implements a multi-modal server that streams raw sensory data to requesting external (off-board) perceptual modules. These have been implemented and tested on the Honda Motor Corporation's ASIMO humanoid robot. To identify trade-offs and understand performance limitations in robots with distributed system architectures, we performed a variety of tests on these subsystems under different network conditions, operating systems and computational loads. The results indicate that delays due to our middleware is negligible compared to computational costs associated with actual processing within the modules, provided a network with high enough bandwidth. The Cognitive Map appears to be scalable to an increasing number of connected modules with negligible degradation of package delays.I.I NTRODUCTIONN the pursuit of general-purpose robots, adaptive to a variety of environments, many technologies and software algorithms must be integrated to create a coherent robotic system capable of using different skills in the completion of a task. For example, sensor measurements are used as inputs to perceptual modules that extract useful features to reconstruct environmental information such as object pose and identification. This environmental state must be accessible to other modules in the system that in turn can create new knowledge of the environment. Modules are also needed for planning, decision making and sending final motor commands to the robot’s body. In the course of robot execution of the task, frequent feedback of the Manuscript received September 13, 2007. This work was supported in part by the Honda Research Institute USA. environmental state is needed to robustly complete the task and to handle uncertainty or sudden changes in the environment.We have found that a single architectural design does not support all tasks equally well. Instead, architectural components and choice of communication protocols should be reconfigurable at runtime, according to the demands of the task at hand. For example, for a robot pointing and gazing at a moving object (Figure 1), constant sensory feedback of the object position must be provided to the pointing command to update the robot’s end effector position. In contrast, if a static environment is assumed, traditional sense-plan-act [1] pipelines can be employed, provided the sensors are sufficiently accurate for a task like pushing objects on a table (Figure 2).Fig. 1: ASIMO pointing and gazing at a moving hand-held object (circled).The computational capabilities on board a robot are usually not as powerful as the latest modern desktop computers due to restrictions in energy consumption and heat management. To facilitate easy reconfiguration of the modules and communication between them, we employ a distributed system design where modules can reside externally from a robot's own control and actuator hardware. The advantage of a distributed system is that theDesign and Evaluation of Communication Middleware in a Distributed Humanoid Robot Architecture Victor Ng-Thow-Hing,1 Thor List,2 Kristinn R. Thórisson,3 Jongwoo Lim,1 Joel Wormer1 1Honda Research Institute, 800 California St., Suite 300, Mountain View, CA, 94041, USA,{vng,jlim,jwormer}@2Communicative Machines Inc., 455 W22nd St., Suite 3, New York, NY 10011, list@ 3CADIA, Reykjavik University, Kringlunni 1, 103 Reykjavik, Iceland. thorisson@ru.isIcomputational demands of the task can be shared across disparate and specialized hardware and performance and functionality can be extended without significant changes to the original robot's design.Fig. 2: ASIMO pushing a block on a table.The computational capabilities on board a robot are usually not as powerful as the latest modern desktop computers due to restrictions in energy consumption and heat management. To facilitate easy reconfiguration of the modules and communication between them, we employ a distributed system design where modules can reside externally from a robot's own control and actuator hardware. The advantage of a distributed system is that the computational demands of the task can be shared across disparate and specialized hardware and performance and functionality can be extended without significant changes to the original robot's design. In our system each module can also be implemented in different software environments, operating systems and programming languages, maximizing the flexibility of solutions for researching and creating system components. This has the added benefit that teams are also free to work at different geographic locations with specialized skill sets appropriate to each subset of modules. We have designed a distributed system architecture for Honda Motor Corporation's ASIMO humanoid robot [2]. The system allows experimental features to be added and expanded while incrementally modeling new tasks on the robot in its operating environment. To facilitate communication between modules, standardized abstraction interfaces were created for accessing motor commands and sensor information between modules. This approach has allowed us to design system components for managing tasks and environmental state that are independent of particular robot hardware configurations.However, the components and their interface design are only two of many parts that shape the overall system performance of the robot. This paper will focus on the evaluation of a third part – the middleware: the collection of communication software and protocols for exchanging information between software modules and hardware components of the system. Delays in the channels of communication between modules can create bottlenecks in information flow which can cause adverse effects on performance, both in the receiving module and overall system performance. The achievable throughput in the various communication subsystems play an important role in determining where modules should reside (same or different machines) and at what rate they should operate.In this paper we will introduce several different communication schemes that we have developed for various functionalities and examine the throughput performance of data samples transferred under several situations encountered in the operation of our robot architecture.II.APPROACHFor ease of integration, our approach takes into account the traditional pipeline of building components in a research environment. Typically, robot developers and researchers build specialized components in isolation of the main system. They perform tests to verify the performance and functionality of these components. Often, assumptions about interactivity with other modules are implicit, underestimated or overlooked – the act of integration itself is given lower priority or is often assigned to someone other than the original component maker. It is also often assumed that once the component is finalized and robust, the delivery of the component can be handed off to an integration team to incorporate into the system. In reality substantial iteration is required after initial integration is achieved. Unforeseen side-effects, e.g., changes in lighting conditions, motion blurring due to a moving camera, or incorrect assumptions about the quality of inputs to the module, can significantly reduce the robustness of its performance once the module is running within the rest of the system. All such architectural design requires frequent changes to the original (isolated) module software to improve operational performance.To minimize the necessary code changes and make modules ready for integration, we employ a framework based on the Constructionist Design Methodology (CDM)[3]. CDM was developed to create systems capable of a large number of functionalities that must be carefully coordinated to achieve coherent system behavior. CDM is based on iterative design steps that lead to the creation of a network of named interacting modules, communicating via explicitly typed streams and discrete messages.Our communication middleware consists of three specific subsystems: the Cognitive Map (CogMap), Distributed Operation via Discrete Events (DiODE) and Multimodal Communication (MC), each created for particular communication needs in our system. While the Cognitive Map is used for sharing and custom selection of information between many modules using a centralized structure, DiODE is used for more dedicated direct communication and MC is designed for networked sharing of sensorinformation, especially from optical cameras (Figure 3).A.Shared, Selective CommunicationWe have designed a blackboard-based cognitive map for manipulating perceptual information gathered from cameras and other sensors for the purposes of organizing information that represents both the robot’s internal state and its external environment. As knowledge must be shared in the architecture to avoid redundant information and computation, and it must be combined from different sources to accomplishing tasks like localization and dynamic world state modeling, a blackboard model is an ideal framework for integration [6]. The development of distributed, large architectures, however, raises issues of dynamic access to shared data of distributed processes, transmission delays, and fluctuating resource availability and computational load [4]. The Cognitive Map (CogMap) is a system of interacting software elements, or modules, that together have the goal of enabling a mobile robot to perceive objects and actions, use them to compose plans for operating on the world and then monitor the execution of those plans via their effects on the environment. The CogMap itself maintains the current state of the world, the state of the robot’s plans as well as being the storage and access point for all non-transient data in the system. Most of the robot’s sensor and control systems interact via the CogMap. To manage shared information, the CogMap is built on the Psyclone “Whiteboard” system [5] which combines the shared information concepts of a blackboard architecture [6]with data streams that can be shared, have their data samplestimestamped for synchronization, and data content transformed (e.g. coordinate conversion) or selectively screened while being transmitted between modules Objects within the CogMap represent physical objects identified from sensory input or conceptual objects generated by the modules’ algorithms (e.g., observed actions). Physical objects can have 3-D pose and geometric information. They can be symbolically labeled with an object type if it can be identified. Objects of a specific type can also have custom fields associated with them. For example, a table object has its length and width parameters for the tabletop in order to allow reconstruction of its geometry from a relatively small set of parameters. Modules of various types – Indexers, Deciders, Detectors - can interact with the Cognitive Map in various ways: Indexers provide different ways to access stored data coming into the CogMap via streams. By default, samples on a stream are accessed by timestamps and frame count. Indexers can provide other search criteria for accessing an object, such as proximity to a specific point in space. Detectors are instantiated dynamically by the CogMap upon requests from other system components, to set up tests for world conditions and events based on data from one or more Indexers. Typically, the creation of a Detector automatically initiates the creation of an Indexer.Fig. 3: Sample representation of modules and types of communication.A Detector implements a Boolean function that can produce true or false answers to specific questions about the data in a stream. One Indexer is created to facilitate this process upon the creation of a Detector. The criteria for a detector can originate from a module and be dynamically specified at run-time. In our system, detectors can be specified using pre-set Boolean operators written in C or be entirely scripted and interpreted at run-time using the Lua language [7]. All samples coming through a stream monitored by the Detector are evaluated and allowed to pass if the Boolean expression has a true value.Deciders subscribe to information from two or more Detectors, or other Deciders, and make decisions on how to respond to events. Deciders can be created by the CogMap upon request by any module in the system.Modules can either reside externally from the CogMap, using TCP/IP socket-based communication, or be dynamically-loaded internal modules, communicating directly through memory. Modules are free to dynamically subscribe and unsubscribe to information from the CogMap, minimizing the bandwidth of the communications channel. Information can be in the form of discrete messages or continuous streamed data. For example, Detectors subscribe to data streams from the Indexers. The Detectors can then publish information on those streams which can be read and utilized by Deciders.B.Direct Robust CommunicationFor situations where the data does not need to be stored, shared or transformed while in transit, the DiODE (Distributed Operation Via Discrete Events) communication subsystem was created to provide robust open communications to allow applications to share information asynchronously. DiODE is used in situations where the overhead of sharing and processing streams through a centralized entity like the CogMap is not desired. For example, visual servoing applications require a tight feedback loop between the perceptual modules and the task modules to ensure timely environment updates. The key features of DiODE are:1. Location independence: Modules are unaware of the network location of peer modules. All communication is performed via a publish/subscribe system over named channels.2. Location optimization: Low-level connections can be automatically optimized to use the most efficient transmission mechanism, based on location. (e.g., use shared memory instead of TCP for channel peers running on the same machine.)3. Role based optimization: A module subscribes in a specific role ("CLIENT", "SERVER", "PEER", etc.) to each channel of interest. DiODE applies knowledge of complementary subscribed roles to open the optimal number of connections between peers. (For example, modules subscribed to a channel in the "CLIENT" role connect to the application in the "SERVER" role, but not to other "CLIENTS").4. Robustness: DiODE is tolerant of disconnection and reconnection of subscribed modules. All modules in complementary roles receive notification events when peers join or leave a channel. The underlying connections are automatically established/re-established as needed. (E.g., a service can be shutdown on a malfunctioning host system and restarted on another host system, and all its clients will be automatically reconnected and notified.)5. Quality of Service: The profile of each channel can be pre-defined to provide some required quality-of-service.(e.g., lossy for higher throughput, guaranteed delivery, total ordering, etc.)C.Multimodal Sensor CommunicationNot all components of a system can be easily distributed. Sensors are constrained to be attached to particular locations on the robot and therefore must be physically close to the computational module that will process the raw data. On the other hand, this data is often further filtered and processed by perceptual modules to obtain important features necessary to estimate environmental state. Since many advanced computer vision algorithms can be expensive computationally, running several different modules on the same computer can be prohibitive. The Multimodal Communication (MC) system was created as a server for sensor data so that it can be redistributed to remote clients for distributed processing. Multiple sensors of different modalities can have their output streamed together to produce hybrid multimodal channels of information.PARATIVE EVALUATIONTest modules were created and connected to each other using the three communication subsystems described in Section II, Various scenarios were selected to assess the efficiency of the various data transmission patterns that can occur in the running system. The modules used in the tests were selected to be representative of the module setup in the implemented architecture. In each performance test, effort was made to isolate specific sources of delay and highlight trade-offs that would need to be made between system performance and flexibility of module location within the system. We also tested the effect of different operating systems (Windows and Linux), number of connected modules, and different networking bandwidth.A.Cognitive Map testsThe following tests measured the package delay of samples as they passed through the CogMap under different conditions. The test machines consisted of an AMD Dual Opteron 246 with 2GB RAM (AMD) and an Intel Dual Core 2 with 2GB RAM (INTEL). Different network bandwidth connections were also tested: direct memory with internalCogMap modules (Direct), the local IP stack only (Localhost), Gigabit Ethernet (1 Gbit/s), Fast Ethernet (100Mbit/s) and WiFi 802.11g (54 Mbit/s). All tests were run1000 times to produce the data reported.Test 1: Media communicationSynthetic samples (data package size: 10 kbytes) consisting of CogMap objects with position and orientation information were sent over several types of network connections.Table 1: Media communicationNetworkconnectionPackage Delay in msecAverageMinMaxSTD Direct1 0.6 0.15.23.5Localhost1 1.5 0.9 13.21 6.241Gbit/s1,2 5.0 2.4 114.27.87100Mbit/s1,2 9.6 9.0 110.0 15.0WiFi 802.11g1,211.9 10.398.030.6Tests were run on the following computers (see superscripts): 1) AMD with Windows XP and 2) INTELwith Windows XP. As expected, Table 1 indicates that package delays clearly increase with lower bandwidth rates,but not in a linear relationship. Knowing the average framerate allows the system designer to decide where to place modules within the system topology depending on theirdesired throughput needs.Test 2: Operating System DependencyData packages of 10 kbytes each are streamed to modulesresiding on a single AMD machine (Direct and Localhost conditions) running different operating systems: WindowsXP (Win) and Linux.Table 2: Operating system dependencyPackage Delay in msecAverageMinMaxSTD Direct Win 0.6 0.1 5.2 3.5Direct Linux 0.4 0.1 9.0 0.9Localhost Win 1.5 0.913.216.24Localhost Linux 1.1 0.621.12.1Table 2 shows there is no notable difference in average package delays between Windows XP and Linux. However, package delays under Windows tend to have higher standard deviations due to extra overhead in the windowing system and services. Test 3: Stress DependencySince the CogMap can share streams among many clients,it is important to determine how quickly performancedegrades as more clients (recipients) access the same stream.10 kbytes data packages are used on a single AMD machine.All clients reside on the same machine to eliminate network uncertainty.Table 3: Stress dependencyPackage Delay in msec#recipients1 Average Min Max STD1 0.6 0.1 5.2 3.52 0.6 0.1 5.3 3.53 0.6 0.1 5.1 3.25 0.8 0.1 8.2 4.110 0.8 0.1 10.3 5.8The CogMap was able to maintain a high level of performance with negligible degradation as the number ofconnecting modules increased from 1 to 10.Test 4: CogMap DetectorsThree different CogMap Detectors were implemented: C-based Detector (C-based), a run-time interpreted Lua-basedDetector (Lua-based), and a local C-based Detector at thereceiving module (C-local). The last condition examines thetrade-offs of performing additional processing of all samplesat the receiving module versus receiving fewer samples dueto filtering done within the CogMap. Timings are for 5receiving modules accessing the same stream with datapackages approximately 1 kByte in size on a single AMDmachine.Table 4: CogMap detectorsPackage Delay in msecAvg.MinMaxSTD C-based Direct 11.1 0.5 51.6 15.9Lua-based Direct 14.0 1.4 52.0 15.6C-local Direct 20.0 1.7 78.2 16.7C-basedLocalhost13.5 2.7 46.0 11.9Lua-basedLocalhost18.7 3.2 78.0 18.7C-localLocalhost22.4 3.3 88.5 22.8The use of the more flexible, interpreted Lua-baseddetectors did not result in significant degradation of performance compared to the C-based detectors. This is dueto the byte-code compilation of Lua. Interpreting the Luascript and converting it to byte-code only needs to be doneonce when the detector script code is initially delivered tothe CogMap from a module. Subsequent function calls areperformed on the byte-code compilation of the Lua-baseddetector.Table 4 also indicates that using the detectors to filter out samples in the CogMap reduces package delay compared to processing all samples at the receiving module (C-local conditions). This confirms the utility of the CogMap’s sample selection mechanism.B. Cognitive Map versus DiODE testsComparison tests were performed to evaluate the streaming performance between the Cognitive Map and DiODE. Since the Cognitive Map provides a centralized intermediary for further processing of data, we expected DiODE to outperform the CogMap. The results will later show that this was not universally true. The CogMap provides several flexible and dynamic features, like the use of Detectors to filter out samples in transit. The need for these features may outweigh the small degradation of performance that may be experienced.One Detector module was created to detect and report object pose (position and orientation) while a Decider module read the information for further processing (3-D visualization of the environment as seen in Figure 4). Transmission of this information was implemented with DiODE and the CogMap. In order to isolate the potential sources of delay, several different configurations were tested. To isolate the delays due to front-end image processing, the Detector module was configured to process live video frames using the ARToolKitPlus augmented-reality based detector [8] (FRONT) or using synthesized, randomized object pose information (NOFRONT). For back-end processing of received data samples, the Decider module can have 3-D visualization of the object pose turned on (BACK) or 3-D visualization turned off (NOBACK). To maximize throughput of the samples, the Decider module processed the samples in a separate thread under both theBACK and NOBACK conditions. Finally, the CogMap and DiODE test cases were run with both modules existing on the same machine (SAME) and on two different machines (DIFF) to isolate network delays. The computers used were a IBM Thinkpad Laptop (2.13 GHz Pentium M, 787MHz 1 GB RAM) (THINKPAD) and a IBM Desktop (3.06 GHz Intel Xeon, 3.07 GHz 2GB RAM) (DESKTOP).Tables 5 and 6 feature two average sample processing times for each test configuration, one for the Detector module side and the other for the Decider module side.Table 5: Average sample processing times for SAME onTHINKPADSAMEconfiguration DiODE (in msec) CogMap (in msec)NOFRONT, NOBACK15.51/15.52 15.51/15.47 NOFRONT, BACK 15.51/15.52 15.51/15.41 FRONT, NOBACK 139.37/139.38 97.30/97.50 FRONT, BACK 172.94/172.98103.26/113.67Table 6: Average sample processing times for DIFF with FRONTside on DESKTOP, BACK on THINKPAD.DIFF configuration DiODE CogMap NOFRONT, NOBACK 15.51/15.36 15.49/15.47 NOFRONT, BACK15.45/15.34 15.53/15.51 FRONT, NOBACK 93.00/92.94 99.46/99.44 FRONT, BACK 92.86/92.55102.47/102.97Comparing the SAME and DIFF configurations indicates that the main processing bottleneck is the computation required for image processing with the actual delays due to the Cognitive Map being negligible. This is indicated by the similar sample processing times for both modules. If there were significant network delays, the Decider processing times would be longer.For the SAME configuration, we were initially puzzled by DiODE’s significant inferior performance compared to the CogMap, especially given that DiODE outperformed the CogMap in the DIFF configuration tests. We hypothesized that DiODE’s implementation may be CPU-intensive because CPU utilization was observed to be high on the THINKPAD. We reran the FRONT/NOBACK test on the faster DESKTOP computer for the SAME configuration and indeed observed that DiODE regained its performance advantage (93.32/93.41 msec versus 101.403/100.28 msec for the CogMap). In the DIFF tests with the CogMap, we also tried running the CogMap system on a third machine, different from those of the two modules. Our initial expectation wasFig. 4: Visualization module recoveringenvironment state from augmented reality vision module. Inset: Camera view from ASIMO of scene.to observe slower performance compared to DiODE due to the extra network links to the third machine. Instead, we were surprised to see slightly faster performance than when the CogMap was residing on the same machine as one of the modules (average 103.26/113.67 msec for CogMap on the same machine versus 97.64/98.18 msec for CogMap on a third machine). A possible explanation is that by putting the CogMap and modules on the same machine, their combined computational demands reduced the overall resources on the computer. This further supports the advantages of building a distributed system where loads can be balanced among several machines.C.Multimodal Communication testsThe MC subsystem was evaluated for the effectiveness of streaming out video to multiple connected clients (numbering 1-10). Video is captured to a local buffer and is subsequently streamed out to connecting clients over different network conditions. The speed of buffer capture depends on the source of the data. We tested two conditions where video is read from a file (RAWFILE) and from a live firewire IEEE 1394 camera (1394). In the former RAWFILE case, we were able to test the fastest frame rate possible, bounded only by computational resources. For camera hardware, frame rates are usually fixed (e.g., 30, and 60 fps). Finally, we ran tests comparing Localhost with Gigabit Ethernet (1000 Mbits/sec) and 802.11g wireless. The latter condition is important to consider as we typically would like the robot to move around unencumbered by an umbilical bundle of wired connections. The following two graphs plot the average frame rate from a group of 6 trials under each condition versus the number of connected clients receiving streams from the MC subsystem from a single video server. All tests were run on a quad-core 3GHz Intel/Xeon Mac Pro.Fig. 5: Comparison over different network bandwidth conditions (logarithmic scale)The first graph (Figure 5) shows several interesting trends. The 1000 Mbits/s trial performance is near-identical to the Localhost trial. The degradation of frame rate occurs at the same time and rate after 6 clients. Looking at the unbound versus 60 fps-bounded conditions, the computer is able to keep up for the first 6 clients due to its excess computational capacity (as seen by the higher frame rates for the unbounded case).For network conditions, using a Gigabit Ethernet connection for a remote client produces essentially equivalent performance to a client co-existing on the same machine. More worrying is the very low frame rates for the wireless 802.11g connection (4.16 fps for 1 client, and 1.96 for 2 clients). The low performance was most likely exacerbated by the fact that the wireless access point was being shared with regular network traffic in our lab. In any case, using wireless for video transmission over many clients is prohibitive for remote computer vision clients that require fast frame rates.The second graph (Figure 6) illustrates the decline in frame rate for different video resolutions (640x480 versus 1024x768). Higher resolution at 1024x768 is often desirable for many vision algorithms since features are more easily discernible. Figure 6 allows one to determine how many modules can share the stream before frame rate drops to an unacceptable level of performance.Fig. 6: Plot comparing different image sizes.IV.CONCLUSION AND DISCUSSIONThe overall conclusion of this work is that delays due to our middleware are negligible compared to computational costs associated with actual processing within modules, provided we have a network with high enough bandwidth (gigabit in our case). The Cognitive Map is likely to be scalable to an increasing number of modules with negligible degradation of package delays.In the process of performing these tests, several of our assumptions were proven incorrect. For example, we had hypothesized that if the Cognitive Map or modules resided on the same machine, average sample throughput would increase. In fact, for machines that are CPU-limited, performance can actually decrease. In several cases, early trials produced anomalous results that upon investigation, resulted in important code fixes that improved system performance, highlighting another important reason to conduct performance tests.Current wireless technology poses a technical barrier to streaming important video or other high bandwidth data to remote modules. If we eventually desire to have autonomous, untethered humanoid robots moving around an environment, this problem will need to be addressed. One solution is to perform as much processing of the raw sensory。