1. A method, performed by a processor, for assigning tasks to a robot device, comprising: selecting a target region from a displayed image of an image capturing device; defining one or more tasks in relation to a plurality of objects displayed within the target region such that the defined one or more tasks are arranged according to a task workflow; wherein defining the one or more tasks further includes inputting image capturing instructions for performing the defined one or more tasks and one or more subtasks of the one or more tasks according to the plurality of objects using text data via a graphical user interface (GUI) such that a user inputs natural language text into the GUI to define the one or more tasks; and communicating the defined one or more tasks to a self-directed device thereby assigning the self-directed device to perform the defined one or more tasks according to the task workflow.