A method for generating a robot motion planning hardware during an offline portion, comprising: receiving a robot description comprising a collision geometry of a robot, degrees of freedom for each joint of the robot, and joint limits of the robot; receiving a scenario description comprising parameters for a fixed scene, a distribution of obstacles, a distribution of starting robot poses, and a distribution of goal poses; generating a probabilistic roadmap (303; 403) using the robot description and the scenario description, the probabilistic roadmap comprising a graph including a plurality of nodes and a plurality of edges, a respective one of the edges coupling the nodes of each pair of a number of pairs of the nodes, each node representing a respective configuration of the robot in a configuration space, C-space, of the robot and each edge representing a respective possible movement between a respective pair of configurations represented by the nodes coupled by the respective edge; and producing, for each edge of the plurality of edges of the probabilistic roadmap, a respective collision detection unit (601; 602; 603; 60X) for use during a real-time portion of the robot motion planning, the respective collision detection unit (601; 602; 603; 60X) comprising a respective circuit composed of logic gates and/or lookup tables, the circuit being configured to detect a collision between an edge in the probabilistic roadmap and a part of an obstacle present in the environment by building a geometric model of a volume swept by each robot movement and further configured to indicate as a Boolean output whether parts of obstacles that, if the obstacle was in a real-time environment, would collide with the respective edge. receiving a robot description comprising a collision geometry of a robot, degrees of freedom for each joint of the robot, and joint limits of the robot; receiving a scenario description comprising parameters for a fixed scene, a distribution of obstacles, a distribution of starting robot poses, and a distribution of goal poses; generating a probabilistic roadmap (303; 403) using the robot description and the scenario description, the probabilistic roadmap comprising a graph including a plurality of nodes and a plurality of edges, a respective one of the edges coupling the nodes of each pair of a number of pairs of the nodes, each node representing a respective configuration of the robot in a configuration space, C-space, of the robot and each edge representing a respective possible movement between a respective pair of configurations represented by the nodes coupled by the respective edge; and producing, for each edge of the plurality of edges of the probabilistic roadmap, a respective collision detection unit (601; 602; 603; 60X) for use during a real-time portion of the robot motion planning, the respective collision detection unit (601; 602; 603; 60X) comprising a respective circuit composed of logic gates and/or lookup tables, the circuit being configured to detect a collision between an edge in the probabilistic roadmap and a part of an obstacle present in the environment by building a geometric model of a volume swept by each robot movement and further configured to indicate as a Boolean output whether parts of obstacles that, if the obstacle was in a real-time environment, would collide with the respective edge.