A 3D dynamic simulator have been developped which provides testing environment for controlling software. It is using ODE (Open Dynamic Engine) for dynamic simulation. It gives the opportunity to create machines which interacts with the environment and other machines ( collision detection, fricition etc.)

MaCI is a robot controlling library which acts as a hardware abstraction layer. Basic machine functionalities are divided into interfaces. The simulator contains different models of machines which provides MaCI-interfaces, so the controlling of real machine and the simulator can be done with the same controlling program. Also different machines can be controlled in the same way because they are providing the same interface.

Dynamically generating new machines

Machines can connect and disconnect from the network (GIMnet) dynamically. No need to know in advance the number,names or type of the machines. The state of the network is available, with a service discovery, and all the nodes in the network can be aware of it.

The service discovery returns all the services of the machines. MaCI provides a naming policy is dividing the name into three different parts: group, which basicly defines the machines; interface, which defines the service type ; instance, which defines the name of the device or algorithm.

On the left side, the current state of GIMnet can be seen.

Controlling machines which are dynamically generated

Knowing the state of the GIMnet, gives the possibility to assign tasks to all the machines that are in the warehouse. The subtasks can be allocated to the optimal machine and machines can appear in the worksite middle of task.

Two Controlling architectures for warehouse environment

Controlling a group of machine with decentralized planner

Controlling a group of machines with a decentralized planner. All machines generates their paths independently, taking into account the position information and current paths of other machines. They also handles traffic rules and collision avoidance

Controlling a group of machine with centralized planner

Controlling a group of machine with a centralized planner. The planner connects scans the state of the network and connects and controls all the machines. It generates paths so that the machines are not too close at the same period of time.

Order picking path evaluation with strictly ordered bins illustrated by heatmaps

The effect of choosing a combination of routing and combinatorial search algorithms is illustrated by heatmap formation. In this case the picking paths are defined by strictly ordered bins and there is no on-the-spot sorting. As input, 25 bins each containing seven picks and a delivery point are given. A single machine can transport up to three bins. All the combinations of 3, 2 and 1 carried bin are considered and evaluated and a search is performed to find a good combination.

Random and optimal routing with no combinatorial search is shown on the top. On the bottom, optimal routing is combined with an optimal combinatorial search algorithm and a simulated annealing / genetic algorithm metaheuristic based combinatorial search.

Resulting picking paths are overlaid to display activity in different areas.

Driving a fleet of robots

An application where a group of machine is controlled by teleoperating only one machine. First a group of machines are selected and constructing a formation of them. A master machine is selected which is followed by other machines within a wanted distance.

The architecture is centralized so that a module is listening the position information of all the machines and controlling their speed with speedCtrl-interface. In addition a new speedCtrl-service is generated which limits the speed of the master-machine to be as fast as the slowest machine in the formation.

Generating height map of a worksite by teleoperating

GIM Demonstration where a height map of a worksite is generated by teleoperating the machine. It is situated in Tampere and teleoperated from Otaniemi (distance ~200 km).

A height map is generated while driving around the worksite from a LIDAR attached on top of the machine and tilted towards the ground.