In order to take full potential of robots in the agriculture, there is a need for robots that can operate across different domains and infrastructure. Agriculture is extremely diverse and no two farms are the same, so robots need to be able to adapt to a wide variety of farm layouts. There are several reasons for this. Firstly, there is great variation in the way the robot needs to loco mote, for example in muddy fields, concrete floors, grassland, or rails, just to mention a few. Secondly, spacing between the plants vary, so the size of the robots also needs to be adjustable depending on the farm layout as some farms can only fit smaller robots while other farms need larger robots for more efficient operation. In this paper, we therefore present a completely modular robot that can be configured to operate in all these environments. The robot can be assembled to different modes of locomotion and the size can be changed depending on the farm specifications. In addition, the robot software is developed so that it automatically takes the shape and the size of the robot into account in the kinematics and control.


Technology will be an important driver in future agriculture, and robotics will play an important role in order to obtain more efficient, environmentally friendly, and sustainable food production for an increasing population. These robots have to operate on farms with a wide variety of different growing and production methods. Modern food production is extremely diverse with crops grown in environments as different as greenhouses, polytunnels, orchards, and open fields. In this paper we present a modular robot that can operate in all these domains.

Developing robotic systems that can operate across all these domains is important for several reasons. Firstly, farms are typically diverse in the way they grow the crops; even within a single farm, the farmers often produce several different products. Between farms and different regions of the world, the differences are even bigger. There is thus a need for robots that can operate in different domains. It is simply not a viable approach to develop one specific robot for each and every environment found in agriculture, as it is too diverse. Some form of modularity is thus required. Secondly, there is a huge opportunity to learn across domains, both when it comes to navigation and the operation of the robot on the one hand, and on the biology and agronomy on the other hand. Finally, using the same robots in different domains will increase the number of robots and will also reduce cost of the robots and make them more accessible to farmers. For all these reasons, we believe there to be several reasons for developing modular robots that can be modified to operate in all these domains.


FIGURE 1 A handful of Thorvald robots.


FIGURE 2 Thorvald modules. A) Battery enclosure module, B) drive module, C) steering module, D) suspension module.

In this article, we present a robot specifically developed for the agricultural domain which is completely modular both in the hardware and the software. This means that the robot, called Thorvald, can be modified using only standard tools to take different forms and sizes. The robot consists of different modules that can be assembled so that the robot takes different shapes depending on the operating domain such as greenhouses, polytunnels, orchards, or open fields. In addition, each type of robot can take different sizes so that it can adjust to local variations in, for example, track width, terrain, and so on. The robots also come with a software that adjusts to the type and size of the robot so that the same overall control, trajectory planning and intelligence can be developed and used independently of what robot is used. The Thorvald robot is the first completely modular robot that has been developed for the agricultural domain.

System Overview

In this section, we present the modular agricultural robots that have been developed by the authors [1]. In the next section, we look at the various application domains where these robots are currently being used.

Robotic Platform

Thorvald robots are based on a handful of modules that can be combined to create a wide range of robots with different properties. One robot may have all-wheel drive, all-wheel steering, while another may be of a differential drive type, yet another may employ Ackermann steering. They are all supported in both hardware and software. Some of the different types of robots are depicted in Figure 1.

Each type of module serves a specific purpose like propulsion or battery storage and the complexity is contained within these modules. Combining modules into a robot can therefore be done by means of simple mechanical and electrical connections. This means that the robot’s frame, the structure on which modules are mounted, may be made very simple. The most common way to create a Thorvald frame is by using aluminum pipes and clamps, but it is also very easy to create custom frames.

The modular system also allows robots to be modified or completely rebuilt as needed. A robot configured for one type of environment can easily be reconfigured to fit another. For example, changing the width of the average Thorvald robot is in most cases achieved in a few minutes using only basic hand tools.

Robot Operating System (ROS) is used, and all Thorvald robots run the same software for driving the base. The only aspect separating one robot configuration from another is one configuration file listing the various modules of the robot with key properties like module position in the robot’s coordinate frame, communication ID and so on.

The most important modules are depicted in Figure 2 and described in brief below.

Battery Enclosure

The battery enclosure holds a battery and electronics for connecting to other modules. Battery enclosures may be connected in parallel to increase the robot’s range. The module acts as a connection point for communication and power to other modules. On each robot, one battery enclosure module holds the robot’s main computer and low-level logic for managing the robots power system. This module can also be fitted with a weatherproof touchscreen.

Drive Module

The drive module is the drive unit of the robot. It contains a 500 W brushless DC motor connected to a wheel through a transmission assembly. More powerful motors can be used if more power is needed. The reduction from the motor to the wheel is done through two stages, one through a belt and one through a gear in the hub. The gear also substantially lowers the center of gravity for the robot.

Steering Module

The steering module holds a brushless DC motor connected to a transmission assembly with a flange on the output. A drive module connects to this flange. The steering module can rotate the drive module ±180° about a vertical axis so that the wheel of the drive module may be pointed in any direction. The steering module is optional and can be left out if, for example, skid steering is used to reduce the price of the robot.

Suspension Module

The robot may encounter difficult terrain in the farm field. To maintain good traction it is important that the robot maintains all drive wheels in connection with the ground. To achieve this, suspension modules may be fitted between the drive units and the robot’s frame. These modules allow vertical travel and thus help the robot keep its wheels in contact with the ground.


The frame can also be considered a part of the modular design. Normally a very simple standard frame consisting of simple aluminum tubes is used, but there is also an option to design frames that are specifically suited for the application at hand. For phenotyping, for example, a tall frame that gives a higher ground clearance of up to 180cm has been designed. The frame is also well suited to carry sensor systems for navigation and soil and plant measurements.

Application Domains

The robotic system described above is designed so that it can be transformed into robots that can operate in basically all domains that we find in modern food production. In this section, we will go more into details on what these robots look like and how they operate and navigate in the different domains, such as greenhouses, polytunnels, orchards, and open fields.

Open Fields

A robot for the open field must be capable of traversing rough terrain, including steep slopes and muddy surfaces. It should also be capable of operating in harsh weather conditions. The Thorvald modules were designed with this in mind, and are made to handle rough conditions. Several Thorvald robots have been assembled for open fields. Examples of applications are soil sampling, wheat phenotyping and tillage.


FIGURE 3 A robot for operating in polytunnels.

In the open field there are not many restrictions on the size of the robot, the only parameter that we need to take into account is the track width. This can easily be adjusted with the design of the Thorvald platform by changing the aluminum bars into the appropriate length. The current version of the robot has a payload of 200 – 300 kg. With a total weight of 180kg, this means that it has a payload that is substantially higher than the robot’s weight.

The robot can be fitted with two battery packs. Each battery gives the robot about 10 hours of autonomy, so during normal operation the robot will have up to 20 hours of operation without the need to charge.


FIGURE 4 A robot for use in greenhouses.

Navigation in open fields heavily relies on GPS. The standard field version of Thorvald is equipped with GPS, inertial measurement unit (IMU) and odometry. These sensors are used for standard navigation in open fields. In addition, the robot has laser scanners and cameras for obstacle avoidance.


Polytunnels are used by farmers to obtain a more controlled growing environment and a longer growing season. Inside the polytunnels, plants may grow in beds in the ground, on tables mounted on poles in the ground or on tables suspended from the tunnel itself. In other words, there may be a great deal of variation in infrastructure from one farm to the next, even if they grow the same crop. As this is the case, it is difficult to design a single robot to fit all environments. By using Thorvald modules, it is easy to create custom robots for each farm. If unforeseen requirements to the design should be uncovered after a robot has been assembled, the robots can easily be adjusted or rebuilt on location.

The Thorvald robot is currently used in various research projects in polytunnels. Here the robot is used in plant treatment, logistics tasks and berry picking [2]. Figure 3 shows a robot configured for operating in polytunnels.

The plastic and steel bars commonly used to construct polytunnels interfere with the GPS signal. The indoor navigation is thus performed using different sensors. For the localization and navigation in polytunnels we use a SLAM-based approach where the robot builds a map and then finds its position in the map using a 2D laser scanner in combination with odometry. Obstacle avoidance is done using the same scanner or a safety laser.


Robots created from Thorvald modules have been used in greenhouses growing cucumber. Here, plants grow in long rows, stretching from a concrete floor at one side of the greenhouse to a wall at the other side. A set of two long pipes separate consecutive rows of plants. These pipes are primarily used for heating, but double as rails for hand-pushed and semi-automatic trolleys used by workers, either as a platform to get access to the taller plants or for transportation. The concrete floor ends a few centimeters after the pipes start. At this point there is a difference in level of the concrete floor, which makes it extremely critical to hit the rails to prevent the robot from tipping over.

Some greenhouses employ semi-automatic trolleys. These are capable of driving automatically along the plant rows, using the heating pipes as rails. When a trolley comes back after finishing a row, the trolley has to be moved manually by workers to the next set of rails. Other systems use a second robot to move the first robot between the rows.

If a robot is to be in fully autonomous operation in this environment, it must be able to locomote on rails along the rows, and it must also be able to navigate from one set of rails to the next on a flat floor. To achieve this, we created a differential drive robot from Thorvald modules, and fitted it with custom-made double-drive wheels. Each wheel consists of a rail wheel and a rubber wheel of slightly larger diameter. When driving on a flat surface, only the rubber wheels are in contact with the ground. When the floor drops under the rails, the robot is supported by the rail wheels. Caster wheels and passive rail wheels help support the robot when it is driving on flat surfaces and on rails. The track-width has also been made adjustable to accommodate various rail-spacing. The robot is depicted in Figure 4.

When the robot is navigating between rows, it uses a laser scanner and a 2D map to localize. The first operation when taking the robot to a new greenhouse is thus to make a map of the area with the concrete floor. Then the rows with the rails are automatically identified in this map and labelled as starting points for each row. During operation, when the robot gets to a set of rails, a 3D camera is used to determine the robot’s position relative to the rails. The robot uses this information to align itself to, and center itself in front of, the rails. As the robot enters the rails, it uses an array of downward-facing supersonic range finders to verify that the transition goes according to plan, i.e., that the wheels will in fact drive on to the rails.

There are also greenhouses that do not have rails. In these greenhouses, the plants normally hang from the ceiling over a flat floor. In this case, the robots will look more like the ones that operate in tunnels or open fields. The robots that operate in this environment do not require the same maneuverability as the ones that are being used in open fields or tunnels, so these robots are typically without suspension and in many cases without the steering module.


Orchards can be as different as all the other domains mentioned above. Some orchards, for example for apple production in Norway, are found in mountainous areas that require extreme maneuverability, traction, and a low center of mass. Other orchards are far more accessible, especially in large-scale professional fruit production.

The type of produce and infrastructure on the farm determines what robot is more suitable to be used in an orchard, but in general we can use the same robots as for greenhouses and open fields. The navigation, on the other hand, is very different from these, as we typically cannot rely completely on GPS signals, especially if the plants or trees are very high, and there are also less-structured or fixed installations to be used in a LIDAR-based navigation approach as the ones used in greenhouses and polytunnels. In general, this will require fusing different sensors to obtain efficient and robust localization and navigation.


Modularity has shown to be an extremely important property when developing robots for agriculture. The first robot that was developed was the Thorvald platform for open fields. When we decided to build a robot for greenhouses, we designed and implemented a completely new robot based on the existing Thorvald modules into a completely new robot in a matter of weeks. This shows that there are huge benefits with this modularity when it comes to designing new robots for new domains. Now we have designed 5-6 completely different robots based on these modules.

This allows us to work in several different domains and, more importantly, learn across these domains. We see that even though a solution from one domain is not necessarily directly transferable to a different domain, there is a lot to learn across domains. Robust navigation uses many of the same components in the different environments, which helps to speed up the development when moving from one domain to another. This learning across the domains is not only related to navigation, but also in the operation, setup and user interface of the robot, there is plenty to learn.

We also see that experience in using sensors is extremely valuable. Especially for the phenotyping robots we have done a lot of work on sensors, data collection and data analysis. This experience is easily transferred to other crops and environments, and we see that the experience from these tests can be applied in greenhouses, polytunnels and open fields. This increases the value of the technology, since it is not only applied to the domain for which it has been developed, but also to other completely different domains.


In this article, we have shown the advantage of the modularity found in both the hardware and the software of the Thorvald agricultural robotics system. We show that it is extremely fast to develop new robots for new domains based on the existing modules. It is also very easy to re-build a robot to fit a new domain so that robots can transition between open fields, polytunnels and greenhouses with very little work. The fact that this is supported in the software adds to the flexibility of the robotic system. This modularity makes the development of new robots and transitions into new domains extremely efficient. This drives the technology and development faster than if a new robot were to be developed for each domain.

Furthermore, this kind of modular robot will be important to make robots a widespread technology to be used on farms across the world. The modularity can reduce the production cost of the robots and make them more accessible to farmers. We also foresee that the value of the robots is higher due to the modularity as we can learn across domains. This will further increase farmers’ motivation for taking these system into use at a larger scale.

About the Authors

Lars Grimstad holds an MSc In Mechanical engineering and is currently a PhD student in the robotics group at the Norwegian University of Life Sciences. His research focuses on modular and reconfigurable mobile robots for the agricultural domain and their applications. His main contribution in this field is his work related to the development of the Thorvald robots.

Pâl Johan From is Professor of Agri-robotics at the Norwegian University of Life Sciences and University of Lincoln, UK. He has a PhD from the Norwegian University of Science and Technology in modeling and control of complex robotic systems. From is head of the Robotics Group at the Norwegian University of Life Sciences, which has designed and built the Thorvald agricultural robot. From was a visiting researcher at Hong Kong University of Science and Technology from 2007-2008 and at UC Berkeley from 2008-2010.


Lars Grimstad
Pål Johan From
“The Thorvald II Agricultural Robotic System”,
), 24; doi:10.3390/robotics6040024,
Ya Xiong
Pal Johan From
Volkan Isler
“Design and Evaluation of a Novel Cable-Driven Gripper with Perception Capabilities for Strawberry Picking Robots”,
International Conference on Robotics and Automation,
Brisbane, Australia,