Mole is a tool to assist with testing and experimentation involving robots and autonomous systems.

Overview

Mole

License (CC0)

Mole is a tool to assist with testing and experimentation involving robots and autonomous systems. It can facilitate the following:

  • test and experiment execution: tracking who, what, where, when, why, and how of the experiment
  • data collection: acquiring targeted data based on events representing "conditions of interest"
  • orchestration: controlling experiment infrastructure to enable dyamic yet repeatable scenarios
  • monitoring: confirming system, infrastructure, and personnel status over time
  • analysis and reporting: generating pre-defined performance metrics and figures to rapidly produce stakeholder reports

Requirements

  1. Docker

Add docker apt repository, install Docker, create docker group and add the user to it, then start the service. See https://docs.docker.com/engine/install/ubuntu/

$ sudo apt-get update
$ sudo sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
$ echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

$ sudo groupadd docker
$ sudo usermod -aG docker $USER
$ sudo service docker start

Reboot, then confirm docker is running.

$ docker run hello-world
  1. docker-compose

Install Docker-Compose locally, set permissions, and modify the path. See https://docs.docker.com/compose/install/

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

Confirm that docker-compose is installed

$ docker-compose --version
  1. openssl

In order for Mole to automatically generate keys/certificates for https, the openssl command must be installed on the host. This is normally the case by default.

Documentation

Documentation is available at https://niwcpac.github.io/mole/

Documentation can also be built and served locally using the ml script at the root of the Mole repo. The ml script can be used to build containers, start services, populate dbs, stop services, or build and serve documentation. It is structured with a number of commands. Additional help on each command can be found by passing the -h flag. E.g., ./ml run -h.

The following command will serve Mole documentation locally at http://localhost/docs/:

$ ./ml docs

Contributors

Mole is built by many contributors and volunteers. Please see the full list in CONTRIBUTORS.md.

Contributing

If you would like to contribute to Mole, please see CONTRIBUTING.md.

You might also like...

Uncensorable, immutable microblogging platform that is completely decentralized and does not rely on any centralized systems.

Uncensorable, immutable microblogging platform that is completely decentralized and does not rely on any centralized systems.

Zooko Truly decentralized, immutable and uncensorable microblogging Zooko is a working-example, proof-of-concept proving that you can have a decentral

Apr 20, 2022

A demo for E2E build piplelines in Design Systems using monorepo's and automation :zap:.

A demo for E2E build piplelines in Design Systems using monorepo's and automation :zap:.

Design System Pipelines demo What is it? A working demonstration for end-to-end build piplelines in Design Systems using Primer Primitives, Primer CSS

Oct 20, 2022

Bitloops is Low-Code Workflow Orchestration platform that helps you build backend systems and APIs 10x faster.

Bitloops is Low-Code Workflow Orchestration platform that helps you build backend systems and APIs 10x faster.

Bitloops Bitloops is a scalable open source Firebase substitute that can support any database and workflow orchestration. We’re building Bitloops usin

Aug 9, 2022

GreenWebhook is a proxy or gateway between two systems that helps reduce your carbon footprint by dynamically routing or delaying traffic so that your workloads run when and where they will cause the lowest amount of carbon emissions.

GreenWebhook is a proxy or gateway between two systems that helps reduce your carbon footprint by dynamically routing or delaying traffic so that your workloads run when and where they will cause the lowest amount of carbon emissions.

💚 Welcome to Green Webhook! 💚 Green Webhook is a proxy or gateway between two systems that intelligently chooses which endpoint to send a webhook ev

Nov 23, 2022

At BlackBox Vision we use heavily React Admin to build internal systems for our clients.

🔥 RA Firebase Starter 🔥 At BlackBox Vision we use heavily React Admin to build internal systems for our clients. Also, we rely on firebase a lot for

Jun 7, 2022

A list of Design Systems built in Brazil 🇧🇷

A list of Design Systems built in Brazil 🇧🇷

Dec 29, 2022

Context-aware smart contracts for blockchain IoT systems

Context-aware smart contracts for blockchain IoT systems It contains 2 directories: contracts: contains the ContextAwareSmartContract.sol contract wit

Jun 17, 2022

A second course in programming aesthetically-inclined projects for Digital Media undergraduates; Building Interactive Systems

EECS_1720 commits made while instructing EECS 1720 - Building Interactive Systems (winter 2022) (course @York University, Canada) what's new Last Clas

Mar 25, 2022

Generate fluid, custom property based design systems on the fly — entirely based on Utopia

Fluid Design Systems With Netlify On-demand Builders A proof of concept demonstrating how Netlify on-demand builders can help generate fluid, custom p

Jan 5, 2023
Comments
  • ML cleanup

    ML cleanup

    Remove shell command from ml Add proxy container to lite mode rearrange CA key generation and docker image building remove deep-clean feature, flag is still there as no-op pin requirements for docs image remove import/export subcommand from ml manage command

    enhancement 
    opened by ndan029 0
  • Poses mapped

    Poses mapped

    plot poses by pose source (different hard-coded color per pose source) update our custom pose angular model to include an id add "id_gt" filter to pose api endpoinnt create pose api angular service (recursively retrieve poses with optional trial and optional id_gt parameter)

    opened by ndan029 0
  • Frontend bug fixes

    Frontend bug fixes

    • remove extraneous angular url
    • remove floating label above trial selector
    • re-initialize event count when creating a new trial
    • disallow editing of timeline card if not in event popup dialog
    • better UI for adding/modifying metadata on events

    TODO: metadata table has weird spacing when input fields are present

    bug 
    opened by ndan029 0
  • Django 3.2, API schema generation

    Django 3.2, API schema generation

    Update Django to 3.2 and corresponding dependencies Minimize use of serializermethodfields Add schema subclasses to define output for serializermethodfields remove schema for views that reference a 'current' object add openapi endpoint and swagger-ui endpoint add tests to check against generated schema

    enhancement 
    opened by ndan029 0
Owner
Naval Information Warfare Center Pacific
Naval Information Warfare Center Pacific
Maintain your API development, documentation and experimentation all within your codebase.

dostman Maintain your API development, documentation and experimentation all within your codebase. This project is a new release! Feel free to contact

Ege Çavuşoğlu 16 Mar 11, 2022
Experience Lab is a set of utilities that assist in creating instances of Microsoft Energy Data Services, performing data loads, and performing basic management operations.

Experience Lab - Microsoft Energy Data Services Build Status About Experience Lab is an automated, end-to-end deployment accelerator for Microsoft Ene

Microsoft 9 Dec 14, 2022
A scalable, high-performance feature management and progressive experimentation platform

Introduction & Our Philosophy FeatBit is a scalable, high-performance Feature Management and Progressive Experimentation platform. Feature Management

null 345 Jan 1, 2023
DAVI - Decentralised Autonomous Voting Interface

DXvote DXdao recognizes the need to adapt and build new systems that reach consensus in a scalable, decentralized and effective way. Consensus is not

DXgovernance 9 Dec 13, 2022
A simple, strictly typed ORM, to assist you in using Cloudflare's D1 product

D1-Orm ✨ A simple, strictly typed ORM, to assist you in using Cloudflare's D1 product API reference can be found at https://d1-orm.pages.dev/modules D

null 78 Dec 25, 2022
A testing focused Remix Stack, that integrates E2E & Unit testing with Playwright, Vitest, MSW and Testing Library. Driven by Prisma ORM. Deploys to Fly.io

Live Demo · Twitter A testing focused Remix Stack, that integrates E2E & Unit testing with Playwright, Vitest, MSW and Testing Library. Driven by Pris

Remix Stacks 18 Oct 31, 2022
The project integrates workflow engine, report engine and organization authority management background, which can be applied to the development of OA, HR, CRM, PM and other systems. With tlv8 IDE, business system development, testing and deployment can be realized quickly.

介绍 项目集成了工作流引擎、报表引擎和组织机构权限管理后台,可以应用于OA、HR、CRM、PM等系统开发。配合使用tlv8 ide可以快速实现业务系统开发、测试、部署。 后台采用Spring MVC架构简单方便,前端使用流行的layui界面美观大方。 采用组件开发技术,提高系统的灵活性和可扩展性;采

Qian Chen 38 Dec 27, 2022
AREX: It is a “Differential Testing” and “Record and Replay Testing” Tool.

AREX: It is a “Differential Testing” and “Record and Replay Testing” Tool. Test restful API by record, replay and stub request/response. Differential

ArexTest 15 Nov 1, 2022
Javascript-testing-practical-approach-2021-course-v3 - Javascript Testing, a Practical Approach (v3)

Javascript Testing, a Practical Approach Description This is the reference repository with all the contents and the examples of the "Javascript Testin

Stefano Magni 2 Nov 14, 2022