Skip to content

Latest commit

 

History

History
657 lines (462 loc) · 19 KB

index.rst

File metadata and controls

657 lines (462 loc) · 19 KB

Welcome to STRANDS documentation!

This site contains the documentation for the software and data produced by the EU STRANDS Project. For more information on the scientific aims of the project, please see our IEEE RAM overview article or the STRANDS Project website.

The project created autonomous mobile robots which were successfully deployed for long periods in real user environments. In the process of this we created a great deal of open source software for AI and robotics applications. This software is all available via the STRANDS GitHub organisation. This site provides a single location where the documentation from across that organisation can be viewed. It is also the main location for software tutorials and guides for creating systems, and provides an entry point into using our software for new users.

Please note that a large amount of this site is automatically generated from our code and package documentation, so the structure is currently not perfect. Our scripts for automatically generating this site are available here.

Getting Started

If you wish to understand or reuse the full STRANDS system, you should follow the STRANDS system tutorial. If you want to set things up as fast as possible, see the quick start instructions. Both of these will leave you with a system which has ROS and STRANDS packages installed, and can run a simulation which uses some of the core STRANDS subsystems.

Core Subsystems

A STRANDS system is formed of many components which provide various pieces of functionality, ranging from navigation to user interaction. A list of all packages with a brief overview of their purpose can be found here. The following sections give a brief overview of some of the packages which form the core of the system.

STRANDS Navigation

Navigation forms the core of the movement capabilities of robots using the system. Our work provides a monitored navigation system which detects failures in navigation and triggers recovery behaviours, and a topological navigation system where navigation nodes (waypoints) are linked by edges which the robot can traverse. Topological navigation underpins many of the other STRANDS capabilities.

STRANDS Executive

The STRANDS executive controls the execution of tasks requested by users or generated by the system itself, prioritising them using various metrics such as expected completion time, probability of successful completion, and so on. It provides facilities for both long-term task routines, task scheduling and task planning under uncertainty. There is a STRANDS Executive tutorial which covers the main parts of the system and an overview document.

Person Detection and Tracking

When operating in populated spaces it is crucial to be able to detect and track people. STRANDS produced an indoor multi-person tracker which fuses and tracks upper body detections and leg detections. We also have produced a wheelchair and walking aid detector.

3D Mapping and Vision

One of the major outputs of the project is a collection of systems for discovering and learning about objects in everyday environments. These are collected together into the STRANDS 3D Mapping collection, described here.

Semantic Object Maps (SOMa)

The outputs of person detection and 3D mapping are stored in our Semantic Object Map (SOMa) which captures the information the robot gathers over long durations in a central store which supports a range of visualisations and queries. This is described here. SOMa is backed by our integration of MongoDB into ROS: MongoDB Store.

Long-Term Data Processing (FreMEn and QSRLib)

After data is collected in SOMa our systems process it using various techniques. Major outputs of STRANDS include FreMen which provides frequency-based modelling for the temporal dimension of spatial representations, and QSRLib, a library for generating qualitative spatial relations from sensor data.

Datasets

You can find the datasets generated by the project here.

Documentation contents

quick_setup setup packages setup_from_scratch

Aaf simulation <aaf_deployment/aaf_simulation> Aaf walking group <aaf_deployment/aaf_walking_group>

Index <aaf_deployment/info_terminal/index> Infremen <aaf_deployment/info_terminal/infremen>

Home <aaf_deployment/wiki/Home> Topics to log during deployments <aaf_deployment/wiki/Topics-to-log-during-deployments>

Annotation tool <annotation_tool_kth/annotation-tool> Index <annotation_tool_kth/index> Rgbd grabber <annotation_tool_kth/rgbd_grabber>

Auto benchmark <datasets/auto_benchmark> Care home <datasets/care_home> Index <datasets/index> Kth 3d <datasets/kth_3d> Kth lt <datasets/kth_lt> Kth lt labels <datasets/kth_lt_labels> Kth lt moving <datasets/kth_lt_moving> Marathon <datasets/marathon> Meta rooms <datasets/meta_rooms> Mht rgbd <datasets/mht_rgbd> Object presence <datasets/object_presence> People tracks <datasets/people_tracks> Person activity <datasets/person_activity> Small office <datasets/small_office> Three d net <datasets/three_d_net> Tuw <datasets/tuw> Witham wharf <datasets/witham_wharf>

Index <g4s_deployment/index> Tsc control ui <g4s_deployment/tsc_control_ui> Tsc temperature logger <g4s_deployment/tsc_temperature_logger>

Checklist <g4s_deployment/tsc_bringup/checklist> Index <g4s_deployment/tsc_bringup/index>

Home <g4s_deployment/wiki/Home>

Index <lamor15/index>

Home <lamor15/wiki/Home> Icrai workshop <lamor15/wiki/ICRAI-workshop> Individual computer setup <lamor15/wiki/Individual-Computer-Setup> Robot vpn to connect from desktop pcs and laptops <lamor15/wiki/Robot-VPN-to-connect-from-Desktop-PCs-and-Laptops> Robot configuration <lamor15/wiki/Robot-configuration> Tutorial materials 1 <lamor15/wiki/Tutorial-materials-1> Tutorial materials 3 <lamor15/wiki/Tutorial-materials-3> Tutorial materials 4 <lamor15/wiki/Tutorial-materials-4> Vpn to the robot <lamor15/wiki/VPN-to-the-robot> Working with the strands robots <lamor15/wiki/Working-with-the-STRANDS-robots> Possible tasks <lamor15/wiki/possible-tasks>

Exercise 1 <planning_tutorial/doc/exercise_1> Exercise 2 <planning_tutorial/doc/exercise_2> Exercise 3 <planning_tutorial/doc/exercise_3> Tutorial prep <planning_tutorial/doc/tutorial_prep>

Index <qrobot/index>

Index <robblog/index>

Index <scitos_2d_navigation/index>

Ptu follow frame <scitos_apps/ptu_follow_frame> Scitos cmd vel mux <scitos_apps/scitos_cmd_vel_mux> Scitos dashboard <scitos_apps/scitos_dashboard> Scitos docking <scitos_apps/scitos_docking> Scitos teleop <scitos_apps/scitos_teleop> Scitos touch <scitos_apps/scitos_touch>

Home <scitos_apps/wiki/Home> Scitos cmd vel mux <scitos_apps/wiki/Scitos-cmd_vel_mux> Scitos teleop <scitos_apps/wiki/Scitos-teleop>

Index <scitos_common/index>

Scitos bringup <scitos_drivers/scitos_bringup> Scitos mira <scitos_drivers/scitos_mira> Scitos pc monitor <scitos_drivers/scitos_pc_monitor>

Bob's network configuration <scitos_robot/wiki/Bob's-Network-Configuration>

Docs <semantic_segmentation/docs>

Index <sensortag/index>

Index <soma/index> Soma llsd <soma/soma_llsd> Soma trajectory <soma/soma_trajectory> Soma visualizer <soma/soma_visualizer>

Config <soma/soma_utils/config> Robblog <soma/soma_utils/robblog>

Index <strands-docker/index>

Calibrate sweeps <strands_3d_mapping/calibrate_sweeps> Cloud merge <strands_3d_mapping/cloud_merge> Ekz public lib <strands_3d_mapping/ekz-public-lib> Index <strands_3d_mapping/index> Learn objects action <strands_3d_mapping/learn_objects_action> Metaroom xml parser <strands_3d_mapping/metaroom_xml_parser> Nbv planning <strands_3d_mapping/nbv_planning> Object manager <strands_3d_mapping/object_manager> Object view generator <strands_3d_mapping/object_view_generator> Semantic map <strands_3d_mapping/semantic_map> Semantic map launcher <strands_3d_mapping/semantic_map_launcher> Semantic map publisher <strands_3d_mapping/semantic_map_publisher> Semantic map to 2d <strands_3d_mapping/semantic_map_to_2d>

Index <strands_3d_mapping/dynamic_object_retrieval/index> Stopwatch <strands_3d_mapping/dynamic_object_retrieval/stopwatch>

Additional view registration server <strands_3d_mapping/observation_registration/additional_view_registration_server> Index <strands_3d_mapping/observation_registration/index> Observation registration server <strands_3d_mapping/observation_registration/observation_registration_server> Observation registration services <strands_3d_mapping/observation_registration/observation_registration_services> Siftgpu <strands_3d_mapping/observation_registration/siftgpu>

Index <strands_3d_mapping/quasimodo/index> Quasimodo retrieval <strands_3d_mapping/quasimodo/quasimodo_retrieval>

Get up and running <strands_3d_mapping/wiki/Get-up-and-running>

Marathon reporter <strands_apps/marathon_reporter> Odometry mileage <strands_apps/odometry_mileage> Roslaunch axserver <strands_apps/roslaunch_axserver> Static transform manager <strands_apps/static_transform_manager> Watchdog node <strands_apps/watchdog_node>

Index <strands_data_to_qsrlib/index> Noveltrajectories <strands_data_to_qsrlib/novelTrajectories>

Doc <strands_executive/doc> Gcal routine <strands_executive/gcal_routine> Index <strands_executive/index> Mdp plan exec <strands_executive/mdp_plan_exec> Scheduler <strands_executive/scheduler> Task executor <strands_executive/task_executor>

Routine behaviours <strands_executive_behaviours/routine_behaviours>

Spatiotemporal exploration <strands_exploration/spatiotemporal_exploration>

Strands gazing <strands_hri/strands_gazing> Strands human aware navigation <strands_hri/strands_human_aware_navigation> Strands human following <strands_hri/strands_human_following> Strands visualise speech <strands_hri/strands_visualise_speech>

Bham <strands_morse/bham> Index <strands_morse/index>

Bham morse <strands_morse/wiki/BHAM-Morse> Morse on ubuntu <strands_morse/wiki/MORSE-on-Ubuntu>

Calibrate chest <strands_movebase/calibrate_chest> Index <strands_movebase/index>

Message store map switcher <strands_navigation/message_store_map_switcher> Monitored navigation <strands_navigation/monitored_navigation> Nav goals generator <strands_navigation/nav_goals_generator> Topological logging manager <strands_navigation/topological_logging_manager> Topological rviz tools <strands_navigation/topological_rviz_tools>

Index <strands_navigation/topological_navigation/index> Tests <strands_navigation/topological_navigation/tests>

Topological map definition <strands_navigation/wiki/Topological-Map-Definition> Useful mongodb queries and updates <strands_navigation/wiki/Useful-Mongodb-Queries-and-Updates>

Bayes people tracker <strands_perception_people/bayes_people_tracker> Bayes people tracker logging <strands_perception_people/bayes_people_tracker_logging> Detector msg to pose array <strands_perception_people/detector_msg_to_pose_array> Ground plane estimation <strands_perception_people/ground_plane_estimation> Human trajectory <strands_perception_people/human_trajectory> Index <strands_perception_people/index> Mdl people tracker <strands_perception_people/mdl_people_tracker> Odometry to motion matrix <strands_perception_people/odometry_to_motion_matrix> Rwth upper body skeleton random walk <strands_perception_people/rwth_upper_body_skeleton_random_walk> Strands head orientation <strands_perception_people/strands_head_orientation> Upper body detector <strands_perception_people/upper_body_detector> Vision people logging <strands_perception_people/vision_people_logging> Wheelchair detector <strands_perception_people/wheelchair_detector>

Libsvm <strands_perception_people/opencv_warco/libsvm> Opencv warco <strands_perception_people/opencv_warco/opencv_warco>

Attic <strands_perception_people/perception_people_launch/attic> Index <strands_perception_people/perception_people_launch/index>

Fovis <strands_perception_people/visual_odometry/fovis> Fv example freenect <strands_perception_people/visual_odometry/fv-example-freenect> Fv example openni <strands_perception_people/visual_odometry/fv-example-openni> Index <strands_perception_people/visual_odometry/index>

Data sets <strands_qsr/wiki/Data-sets> Evaluation client <strands_qsr/wiki/Evaluation-Client> Perception <strands_qsr/wiki/perception>

Docs <strands_qsr_lib/docs> Qsr prob rep <strands_qsr_lib/qsr_prob_rep>

Data <strands_qsr_lib/qsr_lib/data> Index <strands_qsr_lib/qsr_lib/index>

Social card reader <strands_social/social_card_reader> Strands tweets <strands_social/strands_tweets>

Index <strands_tabletop_perception/index> Mv object classifier <strands_tabletop_perception/mv_object_classifier> Object classifier <strands_tabletop_perception/object_classifier> Pcd filter <strands_tabletop_perception/pcd_filter> Qsr kb <strands_tabletop_perception/qsr_kb> Table detection <strands_tabletop_perception/table_detection> Visualize pcd indices <strands_tabletop_perception/visualize_pcd_indices>

Index <strands_ui/index> Mary tts <strands_ui/mary_tts> Mongodb media server <strands_ui/mongodb_media_server> Robot talk <strands_ui/robot_talk> Strands webserver <strands_ui/strands_webserver>

Map <thermo_fisher/map>

Human trajectory classifier <trajectory_behaviours/human_trajectory_classifier> Relational learner <trajectory_behaviours/relational_learner>

Objectrecognizer <v4r/ObjectRecognizer> Citation <v4r/citation> Contributing <v4r/contributing> Index <v4r/index> Ml <v4r/ml> Opennurbs <v4r/opennurbs>

Imkrecognizer <v4r/docs/imkrecognizer> Objectclassification <v4r/docs/objectclassification> Objectdetection <v4r/docs/objectdetection> Objectmodeling <v4r/docs/objectmodeling> V4r style guide <v4r/docs/v4r_style_guide>

Contributing <v4r_ros_wrappers/contributing> Index <v4r_ros_wrappers/index> Multiview object recognizer <v4r_ros_wrappers/multiview_object_recognizer> Object classifier <v4r_ros_wrappers/object_classifier> Object gestalt segmentation <v4r_ros_wrappers/object_gestalt_segmentation> Singleview object recognizer <v4r_ros_wrappers/singleview_object_recognizer> Tutorial <v4r_ros_wrappers/tutorial>