SharpRobotica.com – Sharp ideas for the software side of robotics

Sharp ideas for the software side of robotics

Entries Tagged ‘Architecture’

InteRRaP Hybrid Architecture for Robotic & Multi-Agent Systems

Over the years, a number of well defined architectures have been proposed for a wide assortment of project domains; a few examples were described in Architectural Paradigms of Robotic Control.  As described, the architectural approaches can typically be categorized as follows: Reactive architectures which emphasize reacting to the immediate world environment without keeping an internal […]

Developing Well-Designed Packages for Robot Operating System (ROS), Part VI

Part VI: Adding a UI Layer to the Package As the last and final chapter to this series of posts (Part I, II, III, IV, V), we’ll be adding a basic UI layer to facilitate user interaction with the underlying layers of our package. Specifically, a UI will be developed to allow the user (e.g., […]

Developing Well-Designed Packages for Robot Operating System (ROS), Part V

Part V: Developing and Testing the ROS Message Endpoint [Author's note, July 28, 2010: Introduced Boost::shared_ptr to manage reference to message endpoint so as to enable postponed construction, as will be required in Part VI.] While this series (Part I, II, III, IV) has been specifically written to address writing well-designed packages for ROS, we’ve […]

Sequencing Layer with ESL (Execution Support Language)

In Architectural Paradigms of Robotic Control, I discussed a number of control architectures with a bias towards a hybrid approach, for facilitating reactive behaviors without precluding proper planning. With 3T, a common hybrid approach, the three layers include a skill layer for reactive behavior and actuator control, a sequencing (or execution) layer for sequencing behaviors […]

Developing Well-Designed Packages for Robot Operating System (ROS), Part IV

Part IV: Developing and Testing the Application Services [Author's note, July 28, 2010: Introduced Boost::shared_ptr to manage reference to message endpoint so as to enable postponed construction, as will be required in Part VI.] Ah, we’ve made it to the application services layer.  After defining the architecture, setting up the package, and implementing the core […]

Developing Well-Designed Packages for Robot Operating System (ROS), Part III

Part III:  Developing and Testing the Domain Layer [Author's note, July 28, 2010: Fixed minor bug in LaserScanReader.cpp wherein it couldn't be restarted after being stopped; had to reset _stopRequested to false.] In Part II of this series, we created the humble beginnings of the package and added folders to accommodate all of the layers […]

Developing Well-Designed Packages for Robot Operating System (ROS), Part II

Part II:  Creating the Package Skeleton In Part I of this series, we examined the overall architecture that will be put in place with the development of the ROS package.  It’s time to get our hands dirty and put the theory hypothesis to work!  Accordingly, this post in the series will focus on putting together […]

Developing Well-Designed Packages for Robot Operating System (ROS), Part I

In previous posts, I discussed general patterns of message-based systems along with basic guidance on developing components for such systems.  While these posts may have provided basic information about their respective topics, there’s a clear difference between theory and implementation.  (The former is easier to fake.)  Accordingly, it’s time to get our hands dirty and […]

Checklist for Developing Message-Based Systems

Even when developing the most basic CRUD application, we ask ourselves a number of questions – whether we realize it or not – during the initial phases of development concerning the architecture and construction of the project.  Where will the data be persisted?  What mechanism will be used to communicate with the database?  How will […]

Architectural Paradigms of Robotic Control

Introduction While “architecture” is likely one of the least definable terms in software development, it is unavoidably a topic which has one of the greatest impacts on the extensibility and maintainability of an application.  Indeed, a frequent cause of an application re-write is due to the architectural decisions that were made early in the project, […]

  

© 2011-2014 Codai, Inc. All Rights Reserved