Developing a simulator platform to advance autonomous systems in forestry usage 1.8.2024 Pohjoisen tekijät – Lapin AMKin asiantuntijablogi Julkaisija Lapin ammattikorkeakoulu Oy, Jokiväylä 11, 96300 Rovaniemi Lisenssi Nimeä 4.0 Kansainvälinen (CC BY 4.0) ISSN 2954-145X Yhteydenotot viestintäkoordinaattori Heli Lohi Asiasanat Digitalisaatio Liikenne Metsäala Simulaatiot Aleksi Narkilahti, BEng. Specialist in Digital Solutions Expertise Group, Lapland University of Applied Sciences The FrostBit Software Lab at Lapland University of Applied Sciences is developing a simulator platform from the ground up to advance the development, training, and validation of autonomous driving and safety systems for forestry usage. The development work is enabled and resourced by the AGRARSENSE project which includes several use cases for agriculture and forestry. Lapland University of Applied Sciences is part of forestry use case which is led by Komatsu Forest AB. At the time of writing, we are halfway through the AGRARSENSE project, and the development is on-going, with an expected completion date for our work by the end of 2024. AGRARSENSE is a large 3-year Chips Joint Undertaking consortium project aiming to develop microelectronics, photonics, and electronic packaging for agricultural use and forestry. The project will also develop related ICT and data management to realize large-scale field demonstrators for real industrial needs. The AIFor -project, which is related to AGRARSENSE-project application, is co-financed by Business Finland. You can read more about the project at AGRARSENSE.eu website. Simulator use cases in the AGRARSENSE project Simulators are widely used in many industries because they provide a repeatable and controllable platform for testing, developing, and validating various systems. In our case, the simulator needs to allow for repeatable, cost-effective, and efficient testing of autonomous and safety systems in forestry, using simulated sensors, forestry machines and drones before testing systems in real-world scenarios. The simulator needs to serve as a versatile tool for two key functions: real-time simulation and data collection. This requires the simulator environments to be as realistic looking as possible, enabling the collection of synthetic data from the simulator, such as RGB images or LiDAR (Light Detection and Ranging) point clouds. The simulator and the collected data can then be used for various AI training, validation purposes, and algorithm development. Why develop own simulator? At the start of the project, FrostBit Software Lab explored a few available simulator options, including the CARLA simulator, which is an open-source simulator for autonomous driving research. We have been using the CARLA simulator for several years for multiple projects, but to better meet our project goals, we chose to develop the simulator from the ground up using Unreal Engine 5. Since our project focuses only on forestry, many features offered by the CARLA simulator, such as the traffic light system among other systems designed for city driving, are unnecessary for us. More importantly, CARLA simulator still utilizes Unreal Engine 4, while our project required the new capabilities of Unreal Engine 5 for more realistic environments and higher performance. Thus, the decision to develop our own simulator, leveraging Unreal Engine 5, proved to be the most practical and effective solution. Developing virtual sensors and data communication Since we decided to develop the simulator from the ground up using Unreal Engine 5, our two major tasks were virtual sensor development and data communication. Fortunately, CARLA simulator source code is open-source, and many of the sensors we need in our simulator had already been implemented by CARLA’s team and were familiar to us. This made the implementation of sensor functionality less daunting. While we took heavy inspiration from CARLA’s sensor implementations, we made significant modifications to almost all the sensors. For example, our simulator’s camera sensors work differently under the hood compared to those in the CARLA simulator. While the final output of the sensor is similar, our approach is more performant. Similar changes and improvements were made to other sensors as well. For instance, in the previous EU-funded project, Energy ECS, CARLA’s LiDAR sensor implementation was heavily modified to significantly improve its performance, allowing the simulation of multiple LiDAR sensors simultaneously. This change was brought to this project along with some other things from previous projects which helped to jump-start the simulator development. The simulator includes the following sensors, all of which are parameterized to allow changing settings such as camera resolution, LiDAR channel count and so on: RGB camera Depth camera Semantic segmentation camera DVS (Dynamic Vision Sensor) Thermal camera LiDAR Radar The simulator also includes the following sensors, which are not attempting to mimic any real-life sensor but are information that we can get from Unreal Engine which can be helpful for testing and development purposes: Transform Collision Overlap Picture 1. Simulating multiple sensors simultaneously on the test map For data communication, the simulator needs efficient interaction with other software. We chose to use ROS (Robot Operating System) for data communications. ROS is an open-source framework that allows communication between different programs regardless of the programming language used, if a ROS library exists for that language. While the CARLA simulator offers robust APIs in Python and C++, our ROS-based approach simplifies development significantly by reducing complexity. To enable communication between Unreal Engine and ROS, we used an existing open-source ROSIntegration plugin. Aiming for realistic looking environments The project plan from the start was to create as realistic looking environments as possible while still being able to run in real-time, which is no easy task. Fortunately, Unreal Engine has made significant advancements in recent years. Unreal Engine 5’s new rendering features allow 3D modelers to create high-quality models that the engine can render effectively without extensive manual adjustments. While these new rendering features are exceptional, there are still considerations to keep in mind, but that might be a topic for another time. Overall, Unreal Engine 5 enables us to create high-quality 3D models and render them in real-time with decent performance. To create digital twins of real-world forest locations, we chose a small part of Hirvas in Rovaniemi as our first site due to its convenient proximity. We took numerous photos and videos of the area, collaborating with lecturers, specialists, and students from the Lapland University of Applied Sciences’ land surveying and forestry engineering departments. They used a drone equipped with an RGB camera to capture aerial images. This collaboration provided valuable insights and a substantial amount of reference material for 3D modeling and digital twin creation. The second area is in Vindeln, Sweden, where our use case demonstrations will happen in the project’s last half of second year and final year of the project. For this area we received photos, point clouds and height data from Komatsu Forest AB that allowed us to create the area inside Unreal Engine. Picture 2. Screenshot of Vindeln digital twin map from the simulator. Both digital twin maps also feature fully dynamic lighting and extensive weather controls, such as date, month, and time, which move the sun based on the real-world coordinates of the sites. Other controls include wind intensity, cloudiness, fog, precipitation, and snow amount to name a few. The simulator’s dynamic lighting and weather system allows testing systems under various weather conditions. Vehicles and walkers The simulator includes forwarder and harvester forestry vehicles, along with a drone added at the request of some partners. The use of drones has exploded in recent years, including in the forestry industry. The drone can help spot potential dangers, like animals, from above, which sensors mounted on the vehicle might miss. The drone can also be used for forestry vehicles path planning for example. Additionally, the simulator offers an easy-to-use tool for configuring sensors on vehicles. This tool enables users to test different sensor setups. Given the size of the forestry machines, finding optimal locations to mount sensors for full coverage in all directions is challenging. Identifying the best placements and types of sensors is an ongoing task that our partners continue to explore. Picture 3. Tool to configure sensors on vehicles The simulator also includes walkers, such as humans, reindeer, and moose, which can be set to follow specific paths or move randomly around the area. They are essential for testing different sensors and AI systems’ ability to recognize humans or animals. Safety is the top priority for any autonomous vehicle, especially large machinery that can cause significant damage. If a human or animal is detected to be too close to the machine, it should immediately stop operating to ensure safety. Summary and next steps The team at FrostBit Software Lab has done a lot of work in the first half of the AGRARSENSE project. We have received good feedback and continued interest from our project partners, which is always a promising sign. With many of the planned features for the simulator now complete, we are entering a phase focused on implementing the remaining features and improving the existing ones. Specifically, we will be improving the visuals and performance of the digital twin maps. Additionally, further work is needed on the vehicles and walkers. For further inquiries about the project, please contact AGRARSENSE project manager: Anne Saloniemi (anne.saloniemi(a)lapinamk.fi)