0
$\begingroup$

When designing a robot (manipulator, house robot, drone, autonomous driving system), what options does one have regarding the general software architecture? Is there even such a thing, as a very high level view on different software architectures?

I have very little clue about software architectures, so hopefully the answers can give an entry point into the topic.

$\endgroup$
  • $\begingroup$ By architecture do you mean the actual structure of the code or are you wondering more about what languages and frameworks you can use? $\endgroup$ – Sara Chipps Aug 9 at 22:19
1
$\begingroup$

ROS the Robot Operating System provides a framework and functions for robots - ROS is modular and operates different functions in separate nodes - each their own process. Each node can publish or subscribe to topics(messages) managed through a central core process - nodes can be distributed across machines. ROS has known data structures for messages or you can create your own. The way it all fits together gives you an architecture that you can expand as necessary. I would recommend this to anyone learning robotics, just the amount of available open source nodes/code is worth the time learning ROS. (just a fanboy)

| improve this answer | |
$\endgroup$
0
$\begingroup$

First, start with the systems architecture. You need to design the system considering cost, safety, ease of development.

After that, for each item, main features are defined. This defines the high-level architecture of software elements (platform-side, maintenance computer or controller softwares).

The question is most probably about the main (vehicle) software, which conducts the most important calculations.

The main software architecture depends a lot on what one wants to accomplish. Is it a remotely-operated-vehicle? is it an autonomous system? how autonomous?

After that, software architecture is defined, taking into consideration any dictated or selected data interfaces.

The software architecture functionally resembles the systems architecture, because the main computer interacts with almost all of the elements of the robot.

Sample architecture for a robot racer

There are several studies regarding autonomous vehicle system and software solutions. You can dive deeper into the topic by visiting Google.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.