Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,9 @@ Dependencies for Build:

Build the docs locally with `make html` and you'll find the built docs entry point in `_build/html/index.html`.


## Acknowledgement

<img src="https://github.com/user-attachments/assets/b11da974-9201-4f79-902e-c9c20e8aa7a4" alt="Funded by the European Union" width="240"/>

This work has received funding from the European Union's Horizon Europe research and innovation programme under grant agreement No 101070254 ([CORESENSE](https://coresense.eu)). Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or the European Commission. Neither the European Union nor the granting authority can be held responsible for them.
41 changes: 21 additions & 20 deletions about/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,30 +6,31 @@ About and Contact
About
*****

CoreSense Project(CoreSense in short) is a project whose objective is to provide blah blah
CoreSense (*A Hybrid Cognitive Architecture for Deep Understanding*) is a four-year research project (October 2022 – September 2026) funded by the European Union's Horizon Europe programme under grant agreement No 101070254. It develops a theory of understanding and awareness for robots and a cognitive architecture that implements it, and it releases the resulting software to the ROS community.

We strive to create an open community and encourage new ROS users and experts alike to collaborate.
However, that can't happen without your issues, pull requests, and support.
We would like to thank here our current and past contributors and maintainers.
The CoreSense consortium:

Our current leadership team includes (add more!!):
- Universidad Politécnica de Madrid (UPM), Spain, coordinator
- Technische Universiteit Delft (TUD), the Netherlands
- Fraunhofer IPA (FhG), Germany
- Universidad Rey Juan Carlos (URJC), Spain
- PAL Robotics (PAL), Spain
- Irish Manufacturing Research (IMR), Ireland
- Czech Technical University in Prague (CVUT), Czech Republic

+------------------+------------------------------------+-------------+----------------+
| Name | Organization | GitHub ID | Current Role |
+==================+====================================+=============+================+
| Ricardo Sanz | Universidad Politécnica de Madrid | ricardo_ | Project Leader |
+------------------+------------------------------------+-------------+----------------+
| Francisco Martín | Rey Juan Carlos University | fmrico_ | WP5 Leader |
+------------------+------------------------------------+-------------+----------------+

.. _fmrico: https://github.com/fmrico
.. _ricardo: https://github.com/ricardo
The project website, with news, publications and the public deliverables, is https://coresense.eu.

Contact
*******

If you are interested in contacting someone about CoreSense Project please email the project leader.
We intentionally make our emails easy to find.
If your inquiry relates to bugs or open-source feature requests, consider posting a ticket on our GitHub project.
If your inquiry relates to configuration support or private feature development, reach out and we may be able to connect you with
independent consultants or contractors that know this project well.
- Questions about a package, bug reports and feature requests: open an issue in the corresponding repository of the `CoreSense GitHub organisation <https://github.com/CoreSenseEU>`_.
- Questions about the project: see the contact information at https://coresense.eu.

Funding
*******

.. image:: ../images/eu_funded_en.jpg
:width: 300
:alt: Funded by the European Union

CoreSense has received funding from the European Union's Horizon Europe research and innovation programme under grant agreement No 101070254. Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or the European Commission. Neither the European Union nor the granting authority can be held responsible for them.
54 changes: 35 additions & 19 deletions build_instructions/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,32 +3,48 @@
Build and Install
#################

Install
*******
CoreSense software can be installed in three ways. Use binary packages when they exist, and build from source for the rest.

CoreSense install
========================== ============================== ======================================
Method Requires Available for
========================== ============================== ======================================
Pixi (conda packages) Pixi, any Linux distribution Packages in the CoreSense channels
``apt`` (Debian packages) Ubuntu with ROS 2 installed Packages in the ROS 2 buildfarm
From source ROS 2 and ``colcon`` All the repositories
========================== ============================== ======================================

The :ref:`packages` page shows which method is available for each package.

Build
*****
Install with Pixi
*****************

Install ROS
-----------
See :ref:`getting_started`. The CoreSense channels are:

Please install ROS 2 via the usual `build instructions <https://index.ros.org/doc/ros2/Installation>`_ for your desired distribution.
- Jazzy: https://prefix.dev/channels/coresense-jazzy
- Kilted: https://prefix.dev/channels/coresense-kilted

Build CoreSense
---------------
Install with apt
****************

Create a new workspace, ``CoreSense_ws``, and clone CoreSense master branch into it and build it.
Install ROS 2 following the `official instructions <https://docs.ros.org/en/jazzy/Installation.html>`_, then install the released packages. For example, for EasyNav on Jazzy:

.. code:: bash
.. code-block:: bash

mkdir -p ~/CoreSense_ws/src
cd ~/CoreSense_ws/src
git clone https://github.com/CoreSenseEU/whatever.git

cd ~/CoreSense_ws
rosdep install -y -r -q --from-paths src --ignore-src --rosdistro <ros2-distro>
colcon build --symlink-install
sudo apt install ros-jazzy-easynav ros-jazzy-easynav-simple-planner

Build from source
*****************

Install ROS 2 following the `official instructions <https://docs.ros.org/en/jazzy/Installation.html>`_. Then create a workspace, clone the repository, install its dependencies and build it. For example, for the CoreSense architecture used in the social testbed:

.. code-block:: bash

mkdir -p ~/coresense_ws/src
cd ~/coresense_ws/src
git clone https://github.com/CoreSenseEU/cs4home_architecture.git
cd ~/coresense_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --symlink-install
source install/setup.bash

Replace the repository with the one you need. Each repository README describes its specific dependencies and branches.
9 changes: 6 additions & 3 deletions conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@

# General information about the project.
project = u'CoreSense'
copyright = u'2022'
copyright = u'2022-2026, CoreSense Consortium'
author = u'Various'

# The version info for the project you're documenting, acts as replacement for
Expand All @@ -75,12 +75,12 @@
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
language = None
language = 'en'

# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This patterns also effect to html_static_path and html_extra_path
exclude_patterns = ['_build','_themes','scripts' ]
exclude_patterns = ['_build','_themes','scripts','extra']

# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
Expand Down Expand Up @@ -192,3 +192,6 @@

extlinks = {'projectfile':
('https://github.com/CoreSenseEU/%s', 'filepath ')}

# Extra files copied as-is to the output, e.g. redirects for old URLs.
html_extra_path = ['extra']
6 changes: 0 additions & 6 deletions demos/docs/dummydemo.rst

This file was deleted.

10 changes: 5 additions & 5 deletions demos/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
Demos
#####

CoreSense demos
Demos that can be run without the real robots:

.. toctree::
:maxdepth: 1

docs/dummydemo.rst
- **Drone inspection in simulation**: the simulation environment of the inspection testbed, with Aerostack2. See :ref:`inspection_testbeds` and `TB2_Panel_Inspection_Simulation <https://github.com/CoreSenseEU/TB2_Panel_Inspection_Simulation>`_.
- **Interactive assistant in simulation**: a reduced version of the PAL interactive robot demo, with face detection, a chat interface and simulated objects. See `pal_assistant_demo <https://github.com/CoreSenseEU/pal_assistant_demo>`_.
- **ROS 2 instrumentation**: video of the virtual drivers and the RViz plugin in :ref:`instrumentation`.
- **Navigation**: EasyNav demos with simulated robots, in https://easynavigation.github.io.
42 changes: 40 additions & 2 deletions design/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,44 @@
CoreSense design
################

CoreSense general design.
CoreSense is a hybrid cognitive architecture that gives robots the capability of *understanding*, the world and themselves, and of *awareness*, understanding in synchrony with perception. The theory behind it is described in the public deliverables `D1.3 Theory of Understanding <https://www.coresense.eu/doc/CS-050.pdf>`_ and `D1.4 Theory of Awareness <https://www.coresense.eu/doc/CS-060.pdf>`_. The terms used in the software follow the `CoreSense Ontology (CSO) <https://w3id.org/coresense/cso>`_.

TBD
Architecture subsystems
***********************

The architecture has three subsystems:

- **Runtime system**: a modular software structure, based on ROS 2, used to deploy, monitor and control the modules of the robot. It uses the instrumentation of the ROS 2 platform (see :ref:`instrumentation`).
- **Understanding core**: computes meanings on demand, when another subsystem asks for it, for example to generate an explanation for a user.
- **Awareness system**: a cognitive structure that continuously uses the understanding core on the flow of percepts. When the object of perception is the robot itself, it generates self-awareness.

The architecture is specified in `D2.2 Specification of the CoreSense Architecture <https://www.coresense.eu/doc/CS-059.pdf>`_, and its software assets are described in `D2.3 CoreSense Architecture <https://www.coresense.eu/doc/CS-098.pdf>`_.

Cognitive modules
*****************

A cognitive module is a set of ROS 2 nodes that performs a cognitive function. In the ROS 2 implementation of the architecture, `cs4home_architecture <https://github.com/CoreSenseEU/cs4home_architecture>`_, each module has five components, managed through ROS 2 lifecycle transitions:

- **Afferent**: receives information from the system or the environment.
- **Core**: performs the cognitive function.
- **Efferent**: sends the results to other modules or to the robot.
- **Meta**: provides information about the module.
- **Coupling**: coordinates the module with other modules.

.. code-block:: text

information --> Afferent --> Core (cognitive function) --> Efferent --> other modules
^ ^
Meta Coupling

A master/flow mechanism coordinates several cognitive modules. The tutorial :ref:`tutorial_cs4home` shows how to build and run example modules.

Understanding system
********************

The understanding system, `coresense_understanding <https://github.com/CoreSenseEU/coresense_understanding>`_, generates strategies to obtain models with given properties. It combines existing models with model-modification skills, the *engines*. Each engine is a ROS 2 node, annotated with its inputs and outputs, whose skill is wrapped in a behaviour tree. The logic of the understanding core is in `understanding-logic <https://github.com/CoreSenseEU/understanding-logic>`_, and it uses the Vampire theorem prover through `coresense_vampire <https://github.com/CoreSenseEU/coresense_vampire>`_ and the knowledge base `triplestar_kb <https://github.com/CoreSenseEU/triplestar_kb>`_.

Engineering toolchain
*********************

CoreSense systems can be designed with model-based tools. See :ref:`toolchain_introduction`.
12 changes: 12 additions & 0 deletions extra/Toolchain/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CoreSense Toolchain</title>
<meta http-equiv="refresh" content="0; url=../toolchain/index.html">
<link rel="canonical" href="https://coresenseeu.github.io/toolchain/index.html">
</head>
<body>
<p>This page has moved to <a href="../toolchain/index.html">CoreSense Toolchain</a>.</p>
</body>
</html>
52 changes: 40 additions & 12 deletions getting_started/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,53 @@
Getting Started
###############

This document will take you through the process of installing the |PN| binaries
and using |PN|.
The fastest way to try a released CoreSense package is `Pixi <https://pixi.sh>`_. Pixi installs ROS 2 and all the dependencies in a project folder, from the `RoboStack <https://robostack.github.io>`_ channels and the CoreSense channels. It does not need a system-wide ROS installation, ``rosdep`` or ``colcon``, and it works on any Linux distribution.

This example installs EasyNav, the CoreSense navigation framework, for ROS 2 Jazzy.

.. note::

See the :ref:`build-instructions` for other situations such as building from source or
working with other types of robots.
See :ref:`build-instructions` to install with ``apt`` on Ubuntu, or to build from source.

1. Install Pixi (version 0.77 or newer) and open a new terminal:

.. code-block:: bash

curl -fsSL https://pixi.sh/install.sh | bash

2. Create a project that uses the CoreSense and RoboStack channels for Jazzy:

.. code-block:: bash

Installation
************
pixi init my_app -c https://prefix.dev/coresense-jazzy \
-c https://prefix.dev/robostack-jazzy -c conda-forge
cd my_app

1. Install the ROS 2 binary packages as described in the official docs
2. Install the |PN| packages using your operating system's package manager:
3. Add the packages. ``ros-jazzy-ros2run`` provides the ``ros2`` command line tool:

.. code-block:: bash

sudo apt install ros-<ros2-distro>-CoreSense-*
pixi add ros-jazzy-easynav ros-jazzy-easynav-simple-planner ros-jazzy-ros2run

4. Run any ROS 2 command inside the environment. Nothing needs to be sourced:

.. code-block:: bash

pixi run ros2 pkg list | grep easynav
pixi shell # or open a shell with the environment activated

For ROS 2 Kilted, replace ``jazzy`` with ``kilted`` in the channels and in the package names.

To learn how to use EasyNav, see its documentation at https://easynavigation.github.io.

Available channels
******************

Running the Example
*******************
============= =================================================
Distribution Channel
============= =================================================
Jazzy (LTS) https://prefix.dev/channels/coresense-jazzy
Kilted https://prefix.dev/channels/coresense-kilted
============= =================================================

TBD
The channel pages list all the available packages and versions.
Binary file added images/eu_funded_en.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
37 changes: 27 additions & 10 deletions index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,43 @@
Overview
########

CoreSense Project (CoreSense in short) is a project... TBD
CoreSense (*A Hybrid Cognitive Architecture for Deep Understanding*) is a Horizon Europe research project (2022–2026) that develops a theory of understanding and awareness for robots, and a cognitive architecture that implements it on top of ROS 2.

This site is the technical documentation of the CoreSense software. It explains how to install the released packages, the design of the architecture, and how to use the cognitive modules, the engineering toolchain and the ROS 2 instrumentation developed in the project. The project website, with news, publications and public deliverables, is at https://coresense.eu.

.. image:: images/funding.png
:width: 400
:alt: CoreSense Project funding
All the software is open source and available in the `CoreSense GitHub organisation <https://github.com/CoreSenseEU>`_.

Where to start
**************

- :ref:`getting_started`: install a released CoreSense package in a few minutes, with Pixi or ``apt``.
- :ref:`build-instructions`: all the installation options, including building from source.
- :ref:`design`: the CoreSense architecture.
- :ref:`packages`: the catalogue of CoreSense software, grouped by topic.
- :ref:`tutorials`: step-by-step guides.
- :ref:`testbeds`: the three testbeds where CoreSense has been validated.
- :ref:`contribution_guideline`: how to contribute and how to release a package.

Funding
*******

.. image:: images/eu_funded_en.jpg
:width: 300
:alt: Funded by the European Union

CoreSense has received funding from the European Union's Horizon Europe research and innovation programme under grant agreement No 101070254. Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or the European Commission. Neither the European Union nor the granting authority can be held responsible for them.

.. toctree::
:hidden:

getting_started/index.rst
opensourecommunity/index.rst
build_instructions/index.rst
design/index.rst
packages/index.rst
tutorials/index.rst
instrumentation/index.rst
toolchain/index.rst
testbeds/index.rst
demos/index.rst
toolchain/index.rst
opensourecommunity/index.rst
about/index.rst
instrumentation/index.rst



4 changes: 2 additions & 2 deletions instrumentation/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
CoreSense Instrumentation
*************************

.. attention:: This package is part of the CORESENSE prject. And is still under development. any feedback is welcome.
.. note:: This package is part of the CoreSense project. Feedback is welcome in the `issue tracker <https://github.com/CoreSenseEU/coresense_instrumentation/issues>`_.

Monitoring robot behavior in real-world applications often requires tracking multiple nodes, each with its own topics. To simplify this, we developed CoreSense Instrumentation. It allows you to monitor the state of the robot’s systems and manage nodes and topics, including creating or deleting them as needed.

Expand All @@ -24,7 +24,7 @@ The tool works by creating a virtual driver for each component, as shown in :num
:scale: 100
:align: center

Coresense Instrumentation Rviz plugin
CoreSense Instrumentation RViz plugin

----------------
How to use
Expand Down
Loading
Loading