Team-level Cooperation

To improve the efficiency of task execution, each individual manipulator should coordinate to allocate and perform tasks to achieve whole team cooperation. First, distributed state synchronization should be achieved through inter-robot communication during task execution. Second, each robot may have its own local observations and should support a conflict-free mechanism to resolve potential conflicts.

Task

Here we provide the documentation for the base classes that must be extended for the various scenarios.

BaseTask

class maniware.team_level.baseTask.BaseTask[source]

Base task interface for team-level This is a basic class and should be extended before instantiation.

get_state()[source]
reset()[source]
set_state()[source]
star_task()[source]
stop_task()[source]

ManiTask

class maniware.team_level.maniTask.ManiTask(env, position, thing_type, color='black')[source]

Bases: BaseTask

get_position()[source]
reset(pose)[source]
set_color(color)[source]

Executor

class maniware.team_level.executor.Executor[source]

Bases: object

avoid_collision()[source]
reset()[source]
start_execute()[source]
stop_execute()[source]

MobileManipulator

class maniware.team_level.mobileManipulator.MobileManipulator(env, position, ori, height, ee_type='Suction', chassis_type='Mecanum')[source]

Bases: Executor

get_state()[source]
move_collect()[source]
reset()[source]
reward()[source]
set_chassis(chassis_type)[source]

FixedBaseManipulator

class maniware.team_level.fixedBaseManipulator.FixedBaseManipulator(env, pose, height, ee_type='Suction')[source]

Bases: Executor

reset()[source]
reward()[source]
state()[source]
step()[source]

Scheduler and Optimizer

Here is a detailed implementation of scheduler and optimizer