Meng's Code
P_MAS_TG
Planner for MultiAgent System under Temporal Goals
Download at GitHub.
Comments and contributions are most welcome!
Description:
this package contains implementation for plan synthesis algorithms given a finite transition system (as the agent motion model) and a Linear temporal logic formula (as the agent task). It outputs the static plan as a sequence of agent motion and action, required to fulfill the task.
Features:
Allow both general and cosafe LTL task formulas.
Handle both motion and action models.
Allow soft and hard task specifications.
NetworkX structure for FTS, Buchi and Product automata.
Static or onthefly construction of product automaton.
Easy integration with motion control, sensing and communication modules.
Can be used to generate ‘.dat‘ for MatLAB to load Buchi and product automata model. See square_world.py.
Application One
Follow the Example.py
Applied to two agents simultaneously.
Motion and action plan for flexible task specifications.
Simulation and demonstration. [Video 1] [Video 2]
P_MDP_TG
Planner for Markov Decision Process under Temporal Goals
Download at GitHub
Comments and contributions are most welcome!
Description:
this package contains the implementation for policy synthesis algorithms given a probabilisticallylabeled Markov Decision Process (MDP) (as the robot motion model) and a Linear Temporal Logic (LTL) formula (as the robot task). It outputs a stationary and finitememory policy consists of plan prefix and plan suffix, such that the controlled robot behavior fulfills the task with a given lowerbounded risk and minimizes the expected total cost.
Features:
Allows probabilistic labels on MDP states.
Tunable tradeoff between risk and expected total cost in the plan prefix.
Linear programs for solving constrained stochastic shortest path (SSP).
Optimization over both plan prefix and suffix.
Relaxed policy generation for cases where no accepting end components (AECs) exist.
Interface between LTL formula, Buchi Automaton, Deterministic Robin Automaton and NetworkX graph objects.
Computing maximal accepting end components (MAEC) of MDPs.
Python Implementation of Reciprocal Velocity Obstacle (RVO) for Multiagent Systems
Download at GitHub
Comments and contributions are most welcome!
Check out [Video1], [Video2].
Description:
This package contains a plugandplay Python package for collisionavoidance in multiagent system, based on reciprocal velocity obstacles (RVO) and hybrid reciprocal velocity obstacles (HRVO).
Features:
Takes a 2D workspace with any number of nonoverlaping circular or square obstacles
Any number of dynamic agents with nonzero volume.
Allow the choice of VO, RVO, HRVO.
Direct plugandplay and fully integrateable with your control objective, i.e., the output velocity is a minimal modification of the desired velocity.
Scalable and fast, see examples below.
HIL_Mix_Initiative
Humanintheloop mix initiative control under temporal tasks
Download at GitHub
Comments and contributions are most welcome!
Description:
This package contains the implementation of the mixinitiative control of a single robot under temporal tasks. The human operator can directly modify the navigation input of the robot and assign new tasks to the robot during run time. The workspace is assumed to be only partiallyknown and possibly dynamic. More importantly, via this interaction, the robot can learn the human preference for the parameters used in the plan synthesis.
Features:
Human operator can influence the ‘‘cmd_vel" control velocities directly whenever needed:
Safety is ensured for all time by the mixinitiative controller, for all possible human inputs.
Human can assign contingent shortterm tasks during run time, which the robot will accommodate within the given deadline.
Given the past inputs from the human, the robot could learn the preferred value of the parameters used in the plan synthesis, with inverse reinforcement learning (IRL) algorithms.
Python Interface for Controlling iRobots with OptiTrack
Download at GitHub
Comments and contributions are most welcome!
Description:
this package contains the Python interface used at the RAMA lab of Prof. Zavlanos, Duke University. The hardware structure consists of
one Windows PC (W), which connects to all OptiTrack cameras and runs program Motive to calibrate and retrieve data from OptiTrack.
one Ubuntu machine (U), which runs ROS and does the algorithmic computation to compute the control signals for each iRobot.
several iRobots (I), which runs iRobot driver locally, receives control commands from (U) and sends sensory data back to (U).
Features:
Retrieve multiple rigidbody data.
Plot realtime positions of all rigid bodies.
Can be easily extended to more complicate motion and task planning scenarios.
