ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

Adding a layer of business logic onto ROS bots

asked 2022-07-19 01:47:34 -0500

selink gravatar image

For the past few days I've been trying to find whether there is a tool that allows one to build a layer of business logic components on top of a ROS bot with basic functionality.

For example, say there is a basic autonomous drone running ROS, with capabilities to fly, avoid obstacles, navigate a plan etc. as "basic" capabilities. Is there a way to build on top of this drone, an extra layer of business logic components, that specializes the drone in some way i.e. now allows it to carry out some 'business goal" like "find the number of dogs from point x to y" (kind of like the concept of decorators).

I'm saying "an extra layer" because it would make sense to not incorporate the logic into the ROS computation graph as it should build on top of the basic capabilities rather than extend it directly.

So I guess I'm looking for a tool that can recognize the current computation graph of a hooked up bot and an API that allows one to make calls to different nodes/topics/services on the bot such that having written some business logic elsewhere I could incorporate to work with the bot through this API.

Does such a thing exist? Even if not - do you think it makes sense/would be good if it existed at least?

Cheers.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2022-07-19 04:36:54 -0500

ljaniec gravatar image

updated 2022-07-19 04:37:30 -0500

I think this project is somewhat related to that:

Welcome! This is a book about multi-robot systems. Why? Because it's the future!

Robots are becoming more affordable, more capable, and more useful in many "real life" scenarios. As a result, we are seeing more and more robots that need to share spaces and work together to accomplish tasks. In this book, we will introduce the Robot Operating System 2 (ROS 2) as well as the Robot Middleware Framework (RMF), which is built on ROS 2 and tries to simplify the creation and operation of complex multi-robot systems. (...)

Robotics Middleware Framework (RMF)

For a moment, think of any large building. It could be a shopping mall, housing complex, university building, workplace, airport, hospital, hotel, and so on. Are items delivered within the building? Is the building floor cleaned regularly? For most buildings, the answer to both questions is "yes."

Now, let's think of what happens when robots start to perform those tasks. In today's robot marketplace, you can purchase excellent delivery robots, as well as excellent floor-cleaning robots. However, what if the floor is being cleaned at the same time that items are being delivered in the building? This situation is trivial when humans are performing the cleaning and delivery tasks: a quick glance between a delivery person pushing a cart and a custodian cleaning the floor is all it takes to quickly reach a compromise. One or both people will find a way to slightly alter the timing of their task to allow both tasks to be completed.

Of course, it is aimed at multiple mobile robot systems, but it is a similar additional layer over ROS

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2022-07-19 01:47:34 -0500

Seen: 69 times

Last updated: Jul 19 '22