Abstract:
Systems and methods for robotic path planning are disclosed. In some implementations of the present disclosure, a robot can generate a cost map associated with an environment of the robot. The cost map can comprise a plurality of pixels each corresponding to a location in the environment, where each pixel can have an associated cost. The robot can further generate a plurality of masks having projected path portions for the travel of the robot within the environment, where each mask comprises a plurality of mask pixels that correspond to locations in the environment. The robot can then determine a mask cost associated with each mask based at least in part on the cost map and select a mask based at least in part on the mask cost. Based on the projected path portions within the selected mask, the robot can navigate a space.
Abstract:
Systems and methods assisting a robotic apparatus are disclosed. In some exemplary implementations, a robot can encounter situations where the robot cannot proceed and/or does not know with a high degree of certainty it can proceed. Accordingly, the robot can determine that it has encountered an error and/or assist event. In some exemplary implementations, the robot can receive assistance from an operator and/or attempt to resolve the issue itself. In some cases, the robot can be configured to delay actions in order to allow resolution of the error and/or assist event.
Abstract:
Systems and methods for dynamic route planning m autonomous navigation are disclosed. In some exemplary implementations, a robot can have one or more sensors configured to collect data about an environment including detected points on one or more objects in the environment. The robot can then plan a route in the environment, where the route can comprise one or more route poses. The route poses can include a footprint indicative at least in part of a pose, size, and shape of the robot along the route. Each route pose can have a plurality of points therein. Based on forces exerted on the points of each route pose by other route poses, objects in the environment, and others, each route pose can reposition. Based at least in part on interpolation performed on the route poses (some of which may be repositioned), the robot can dynamically route.
Abstract:
Robots have the capacity to perform a broad range of useful tasks, such as factory automation, cleaning, delivery, assistive care, environmental monitoring and entertainment. Enabling a robot to perform a new task in a new environment typically requires a large amount of new software to be written, often by a team of experts. It would be valuable if future technology could empower people, who may have limited or no understanding of software coding, to train robots to perform custom tasks. Some implementations of the present invention provide methods and systems that respond to users' corrective commands to generate and refine a policy for determining appropriate actions based on sensor-data input. Upon completion of learning, the system can generate control commands by deriving them from the sensory data. Using the learned control policy, the robot can behave autonomously.
Abstract:
An apparatus and methods for training and/or operating a robotic device to perform a target task autonomously. The target task execution may be configured based on analysis of sensory context by the robot. Target action may comprise execution of two or more mutually exclusive actions for a given context. The robotic device may be operable in accordance with a persistent switching process. For a given sensor input, the switching process may be trained to select one of two or more alternative actions based on a prior action being executed. Switching process operation may comprise assigning priorities to the available tasks based on the sensory context; the task priorities may be modified during training based on input from a trainer. The predicted task priorities may be filtered by a “persistent winner-take-all process configured to switch from a current task to another task based on the priority breaching a switching threshold.
Abstract:
Systems and methods for detection of people are disclosed. In some exemplary implementations, a robot can have a plurality of sensor units. Each sensor unit can be configured to generate sensor data indicative of a portion of a moving body at a plurality of times. Based on at least the sensor data, the robot can determine that the moving body is a person by at least detecting the motion of the moving body and determining that the moving body has characteristics of a person. The robot can then perform an action based at least in part on the determination that the moving body is a person.
Abstract:
Robots have the capacity to perform a broad range of useful tasks, such as factory automation, cleaning, delivery, assistive care, environmental monitoring and entertainment. Enabling a robot to perform a new task in a new environment typically requires a large amount of new software to be written, often by a team of experts. It would be valuable if future technology could empower people, who may have limited or no understanding of software coding, to train robots to perform custom tasks. Some implementations of the present invention provide methods and systems that respond to users' corrective commands to generate and refine a policy for determining appropriate actions based on sensor-data input. Upon completion of learning, the system can generate control commands by deriving them from the sensory data. Using the learned control policy, the robot can behave autonomously.
Abstract:
Apparatus and methods for training of robotic devices. Robotic devices may be trained by a user guiding the robot along target trajectory using an input signal. A robotic device may comprise an adaptive controller configured to generate control commands based on one or more of the user guidance, sensory input, and/or performance measure. Training may comprise a plurality of trials. During first trial, the user input may be sufficient to cause the robot to complete the trajectory. During subsequent trials, the user and the robot's controller may collaborate so that user input may be reduced while the robot control may be increased. Individual contributions from the user and the robot controller during training may be may be inadequate (when used exclusively) to complete the task. Upon learning, user's knowledge may be transferred to the robot's controller to enable task execution in absence of subsequent inputs from the user
Abstract:
Optical flow for a moving platform may be encoded into pulse output. Optical flow contribution induced due to the platform self-motion may be cancelled. The cancellation may be effectuated by (i) encoding the platform motion into pulse output; and (ii) inhibiting pulse generation by neurons configured to encode optical flow component optical flow that occur based on self-motion. The motion encoded may be coupled to the optical flow encoder via one or more connections. Connection propagation delay may be configured during encoder calibration in the absence of obstacles so as to provide system specific delay matrix. The inhibition may be based on a coincident arrival of the motion spiking signal via the calibrated connections to the optical flow encoder neurons. The coincident motion pulse arrival may be utilized in order to implement an addition of two or more vector properties.
Abstract:
Systems and methods assisting a robotic apparatus are disclosed. In some exemplary implementations, a robot can encounter situations where the robot cannot proceed and/or does not know with a high degree of certainty it can proceed. Accordingly, the robot can determine that it has encountered an error and/or assist event. In some exemplary implementations, the robot can receive assistance from an operator and/or attempt to resolve the issue itself. In some cases, the robot can be configured to delay actions in order to allow resolution of the error and/or assist event.