A method being carried out in whole or in part by a component or components in a cloud and/or a robotic system and comprising: receiving a query from a first robotic system having one or more sensors, wherein the query comprises sensor data obtained from the one or more sensors, a request for instructions to carry out a task, and information associated with a configuration of the first robotic system; identifying stored data comprising a procedure previously used by a second robotic system to carry out the task or a similar task and information associated with a configuration of the second robotic system; generating, by one or more processors, instructions for the first robotic system to carry out the task based at least in part on the sensor data, the procedure used by the second robotic system to carry out the task or the similar task, the information associated with the configuration of the first robotic system, and the information associated with the configuration of the second robotic system; the method characterised in that the configuration of the first robotic system is different than the configuration of the second robotic system; and in that the method further comprises: executing a simulation based on the generated instructions; obtaining results of the simulation and responsively determining a confidence measure, based on the results, related to a measure that the generated instructions allow for successful performance of the task; generating, by the one or more processors, updated instructions to carry out the task, by the first robotic system, based on the confidence measure being below a threshold; and sending the updated instructions to carry out the task to the first robotic system, wherein the information associated with the configurations of the first and second robotic systems includes information related to one or more of: on-board sensors, on-board processors, on-board power systems, control systems, end effectors, and movement capabilities. receiving a query from a first robotic system having one or more sensors, wherein the query comprises sensor data obtained from the one or more sensors, a request for instructions to carry out a task, and information associated with a configuration of the first robotic system; identifying stored data comprising a procedure previously used by a second robotic system to carry out the task or a similar task and information associated with a configuration of the second robotic system; generating, by one or more processors, instructions for the first robotic system to carry out the task based at least in part on the sensor data, the procedure used by the second robotic system to carry out the task or the similar task, the information associated with the configuration of the first robotic system, and the information associated with the configuration of the second robotic system; executing a simulation based on the generated instructions; obtaining results of the simulation and responsively determining a confidence measure, based on the results, related to a measure that the generated instructions allow for successful performance of the task; generating, by the one or more processors, updated instructions to carry out the task, by the first robotic system, based on the confidence measure being below a threshold; and sending the updated instructions to carry out the task to the first robotic system, wherein the information associated with the configurations of the first and second robotic systems includes information related to one or more of: on-board sensors, on-board processors, on-board power systems, control systems, end effectors, and movement capabilities.