Skip to content

Commit

Permalink
Merge pull request #154 from b-it-bots/devel
Browse files Browse the repository at this point in the history
Release v.1.4.1
  • Loading branch information
argenos authored May 24, 2019
2 parents 814a443 + c912519 commit b2a75ee
Show file tree
Hide file tree
Showing 223 changed files with 8,112 additions and 4,673 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@
*.*~
*.swp

# Generated rasa models
/mdr_speech/mdr_rasa/models/*/generated/

# MongoDB
prealloc.*
mongod.lock
Expand Down
2 changes: 1 addition & 1 deletion .travis/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM bitbots/bitbots-domestic:kinetic
FROM bitbots/bitbots-common:kinetic

WORKDIR /travis
ADD ./ /travis/src/mas_domestic_robotics
Expand Down
51 changes: 37 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,36 @@

# mas_domestic_robotics

## Table of contents

1. [Summary](#summary)
2. [Dependencies](#dependencies)
3. [Packages](#packages)
1. [Planning](#planning)
2. [Naming conventions](#naming-conventions)
4. [Getting started](#getting-started)
5. [Docker images](#docker-images)
1. [Building the bitbots-domestic image](#building-the-bitbots-domestic-image)
2. [Travis](#travis)
6. [License](#license)
6. [Acknowledgments](#acknowledgments)

## Summary

This repository contains various core domestic robotics functionalities developed by the Autonomous Systems group at Hochschule Bonn-Rhein-Sieg.

The code in this repository is mostly ROS-based and is developed in a robot-independent manner. Robot-dependent code and/or configuration files are hosted in robot-specific repositories, e.g. [mas_cob](https://github.com/b-it-bots/mas_cob) for our Care-O-bot.

# Dependencies

`mas_domestic_robotics` is not a standalone repository and depends on many other components. A diagram of the major dependencies is shown below:

![mas_domestic_robotics repository dependency diagram](docs/images/repo_dependency_diagram.png)

Most of the major dependencies are also developed in-house and, in the interest of modularity, are hosted in separate repositories.

A more complete set of dependencies can be found in the [`mas-domestic.rosinstall`](mas-domestic.rosinstall) file.

## Packages

The functionalities in this repository are organised based on the main capabilities a domestic robot needs to possess. Each of these has its own ROS metapackage, which further includes a set of packages related to that particular functionality. A rough summary of the contents of these packages contents can be found below:
Expand All @@ -23,18 +47,17 @@ The functionalities in this repository are organised based on the main capabilit

The planning metapackage is where most of the high-level functionalites of our robots are implemented. We are developing our robots as skill-based agents; the planning metapackage includes *action* and *scenario* metapackages because of that. The action metapackage is further divided into metapackages for actions related to particular capabilities, while the scenario metapackage includes domain files and/or state machines for various scenarios (e.g. RoboCup@Home tasks, lab demos, and so forth). In principle, scenarios are built by integrating actions together, which is the main benefit of the skill-based agent framework.

### Naming Conventions
### Naming conventions

All packages in our domestic code base start with the `mdr_` suffix; this stands for `mas_domestic_robotics`, which is the name of the top-level directory/ROS metapackage.


## Getting started

b-it-bots members can use [these instructions](https://github.com/b-it-bots/dev-env#setup) to setup a complete development environment for all our robots.

For external users, the following instructions should get you a working system:

1. Setup a catkin workspace
1. Set up a catkin workspace

```
mkdir -p ~/catkin_ws/src && cd ~/catkin_ws
Expand All @@ -46,37 +69,36 @@ For external users, the following instructions should get you a working system:
```
wstool update -t src
rosdep install --from-paths src --ignore-src --rosdistro=kinetic -y
```

3. Building your code
3. Build the code

```
catkin build
```

If you encounter any problems, please check the list of [issues](https://github.com/b-it-bots/mas_domestic_robotics/issues) and open a new one if you don't see a discussion of the problem there.

## Docker images
To test locally, you need to install [docker](https://docs.docker.com/install/linux/docker-ce/ubuntu/) and [docker-compose](https://docs.docker.com/compose/install/),

If you want to test locally without installing our software and its dependencies, you need to install [docker](https://docs.docker.com/install/linux/docker-ce/ubuntu/) and [docker-compose](https://docs.docker.com/compose/install/).

You can pull the image for this repository:

```
docker pull bitbots/bitbots-domestic:kinetic
```


### Building the bitbots-domestic image

To manually build this image, first cd into this repository, then:
To manually build this image, first cd into this repository, then execute

```
docker build -t bitbots/bitbots-domestic:kinetic .
```

### Travis

To check locally if your changes will pass the tests:
We use continuous integration to ensure the quality of our software. To check locally if your changes will pass the tests, execute

```
docker-compose build
Expand All @@ -85,9 +107,10 @@ docker-compose run travis

## License

This project is licensed under the GPLv3 License - see the [LICENSE.md](LICENSE.md) file for details
This project is licensed under the GPLv3 License - see the [LICENSE.md](LICENSE.md) file for details.

## Acknowledgments

* Thanks to the many generations of b-it-bots@Home members. You can see a list of contributors [here](https://github.com/b-it-bots/mas_domestic_robotics/graphs/contributors).
* MAS staff and professors who have provided their advice and support
This software would be impossible without
* the many generations of b-it-bots@Home members. A list of contributors can be found [here](https://github.com/b-it-bots/mas_domestic_robotics/graphs/contributors)
* the MAS staff and professors who have provided their advice and support
4 changes: 1 addition & 3 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
version: '2'
services:
travis:
build:
dockerfile: .travis/Dockerfile
context: .
image: bitbots/bitbots-domestic:${TRAVIS_COMMIT}
build: .
domestic:
build: .
image: bitbots/bitbots-domestic:kinetic
Binary file added docs/images/repo_dependency_diagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 12 additions & 0 deletions docs/planning_flowchart.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Draw.io Diagram</title>
<meta http-equiv="refresh" content="0;URL='https://www.draw.io/#G1V1gMgwYKnSAovQo0fkZLUtUEVIXVtw6f'"/>
<meta charset="utf-8"/>
</head>
<body>
<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="{&quot;highlight&quot;:&quot;#0000ff&quot;,&quot;nav&quot;:true,&quot;resize&quot;:true,&quot;xml&quot;:&quot;&lt;mxfile modified=\&quot;2019-01-18T18:01:17.662Z\&quot; host=\&quot;www.draw.io\&quot; agent=\&quot;Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0\&quot; etag=\&quot;xHtHoiuvUHksHpZylf3g\&quot; version=\&quot;10.1.2\&quot; type=\&quot;google\&quot;&gt;&lt;diagram id=\&quot;vKa8OekeWyLovxLuJ4b8\&quot; name=\&quot;Page-1\&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;&quot;,&quot;toolbar&quot;:&quot;pages zoom layers lightbox&quot;,&quot;page&quot;:0}"></div>
<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="https://www.draw.io/#G1V1gMgwYKnSAovQo0fkZLUtUEVIXVtw6f" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>
</body>
</html>
Binary file added docs/planning_flowchart.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
33 changes: 29 additions & 4 deletions mas-domestic.rosinstall
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,40 @@
version: kinetic

- git:
local-name: mas_navigation
uri: https://github.com/b-it-bots/mas_navigation.git
local-name: mas_navigation_tools
uri: https://github.com/b-it-bots/mas_navigation_tools.git
version: kinetic

- git:
local-name: mas_perception
uri: https://github.com/b-it-bots/mas_perception.git
local-name: mas_perception_libs
uri: https://github.com/b-it-bots/mas_perception_libs.git
version: kinetic

- git:
local-name: mas_perception_msgs
uri: https://github.com/b-it-bots/mas_perception_msgs.git
version: kinetic

- git:
local-name: mas_execution_manager
uri: https://github.com/b-it-bots/mas_execution_manager.git
version: master

- git:
local-name: mas_knowledge_base
uri: https://github.com/b-it-bots/mas_knowledge_base.git
version: master

- git:
local-name: action-execution
uri: https://github.com/b-it-bots/action-execution.git
version: master

- git:
local-name: ftsm
uri: https://github.com/b-it-bots/ftsm.git
version: master

- git:
local-name: zbar_ros
uri: https://github.com/b-it-bots/zbar_ros.git
Expand All @@ -38,6 +58,11 @@
uri: https://github.com/KCL-Planning/ROSPlan.git
version: master

- git:
local-name: mongodb_store
uri: https://github.com/b-it-bots/mongodb_store.git
version: kinetic-devel

- git:
local-name: occupancy_grid_utils
uri: https://github.com/b-it-bots/occupancy_grid_utils.git
Expand Down
4 changes: 2 additions & 2 deletions mdr_environments/upload_param.launch
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
<launch>
<arg name="robot_env" default="$(optenv ROBOT_ENV !!NO_ROBOT_ENV_SET!!)"/>
<arg name="domestic_domain" default="false"/> <!-- include environment specific launch file -->
<!--include file="$(find mcr_default_env_config)/$(arg robot_env)/upload_param_$(arg robot_env).launch" /-->
<!--include file="$(find mdr_environments)/$(arg robot_env)/upload_param_$(arg robot_env).launch" /-->

<group ns="/script_server">
<!-- send ROBOT parameters to parameter server -->
<rosparam command="load" ns="base" file="$(find mcr_default_env_config)/$(arg robot_env)/navigation_goals.yaml"/>
<rosparam command="load" ns="base" file="$(find mdr_environments)/$(arg robot_env)/navigation_goals.yaml"/>
</group>
</launch>
13 changes: 13 additions & 0 deletions mdr_hri/mdr_mbot_interface/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
cmake_minimum_required(VERSION 2.8.3)
project(mdr_mbot_interface)

find_package(catkin REQUIRED COMPONENTS
rospy
std_msgs
)

catkin_python_setup()

catkin_package(
CATKIN_DEPENDS
)
65 changes: 65 additions & 0 deletions mdr_hri/mdr_mbot_interface/package.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
<?xml version="1.0"?>
<package format="2">
<name>mdr_mbot_interface</name>
<version>0.0.0</version>
<description>The mdr_mbot_interface package</description>

<!-- One maintainer tag required, multiple allowed, one person per tag -->
<!-- Example: -->
<!-- <maintainer email="[email protected]">Jane Doe</maintainer> -->
<maintainer email="[email protected]">lucy</maintainer>


<!-- One license tag required, multiple allowed, one license per tag -->
<!-- Commonly used license strings: -->
<!-- BSD, MIT, Boost Software License, GPLv2, GPLv3, LGPLv2.1, LGPLv3 -->
<license>TODO</license>


<!-- Url tags are optional, but multiple are allowed, one per tag -->
<!-- Optional attribute type can be: website, bugtracker, or repository -->
<!-- Example: -->
<!-- <url type="website">http://wiki.ros.org/mdr_mbot_interface</url> -->


<!-- Author tags are optional, multiple are allowed, one per tag -->
<!-- Authors do not have to be maintainers, but could be -->
<!-- Example: -->
<!-- <author email="[email protected]">Jane Doe</author> -->


<!-- The *depend tags are used to specify dependencies -->
<!-- Dependencies can be catkin packages or system dependencies -->
<!-- Examples: -->
<!-- Use depend as a shortcut for packages that are both build and exec dependencies -->
<!-- <depend>roscpp</depend> -->
<!-- Note that this is equivalent to the following: -->
<!-- <build_depend>roscpp</build_depend> -->
<!-- <exec_depend>roscpp</exec_depend> -->
<!-- Use build_depend for packages you need at compile time: -->
<!-- <build_depend>message_generation</build_depend> -->
<!-- Use build_export_depend for packages you need in order to build against this package: -->
<!-- <build_export_depend>message_generation</build_export_depend> -->
<!-- Use buildtool_depend for build tool packages: -->
<!-- <buildtool_depend>catkin</buildtool_depend> -->
<!-- Use exec_depend for packages you need at runtime: -->
<!-- <exec_depend>message_runtime</exec_depend> -->
<!-- Use test_depend for packages you need only for testing: -->
<!-- <test_depend>gtest</test_depend> -->
<!-- Use doc_depend for packages you need only for building documentation: -->
<!-- <doc_depend>doxygen</doc_depend> -->
<buildtool_depend>catkin</buildtool_depend>
<build_depend>rospy</build_depend>
<build_depend>std_msgs</build_depend>
<build_export_depend>rospy</build_export_depend>
<build_export_depend>std_msgs</build_export_depend>
<exec_depend>rospy</exec_depend>
<exec_depend>std_msgs</exec_depend>


<!-- The export tag contains other, unspecified, tags -->
<export>
<!-- Other tools can request additional information be placed here -->

</export>
</package>
18 changes: 18 additions & 0 deletions mdr_hri/mdr_mbot_interface/ros/launch/mbot_interface.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?xml version="1.0"?>
<launch>
<!-- NLU : Natural Language understanding -->
<arg name="ns" default="hri"/>

<!-- the string containing the sentence from which the intention and args will get extracted -->
<arg name="intention_input" default="/understood_intention" />

<!-- the topic name in which the NLU will publish the output intention and args -->
<arg name="nlu_output" default="/action_interpretation" />

<!-- mbot natural language understanding, inputs text, outputs intention and arguments -->
<node ns="$(arg ns)" pkg="mdr_mbot_interface" type="mbot_interface" name="mdr_mbot_interface" respawn="true" output="screen">
<remap from="~input_interpretation" to="$(arg intention_input)"/>

</node>

</launch>
9 changes: 9 additions & 0 deletions mdr_hri/mdr_mbot_interface/ros/scripts/mbot_interface
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/usr/bin/env python

import rospy
from mdr_mbot_interface.mbot_planner import MbotPlanner

if __name__ == '__main__':
rospy.init_node('mbot_planner', anonymous=False)
planner = MbotPlanner()
planner.wait_for_interpretation()
Loading

0 comments on commit b2a75ee

Please sign in to comment.