Deprecated: Return type of Requests_Cookie_Jar::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/webvol36/1m/n7c3qzrcr7j2zdd/dynorobotics.se/public_html/wp-includes/Requests/Cookie/Jar.php on line 63

Deprecated: Return type of Requests_Cookie_Jar::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/webvol36/1m/n7c3qzrcr7j2zdd/dynorobotics.se/public_html/wp-includes/Requests/Cookie/Jar.php on line 73

Deprecated: Return type of Requests_Cookie_Jar::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/webvol36/1m/n7c3qzrcr7j2zdd/dynorobotics.se/public_html/wp-includes/Requests/Cookie/Jar.php on line 89

Deprecated: Return type of Requests_Cookie_Jar::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/webvol36/1m/n7c3qzrcr7j2zdd/dynorobotics.se/public_html/wp-includes/Requests/Cookie/Jar.php on line 102

Deprecated: Return type of Requests_Cookie_Jar::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/webvol36/1m/n7c3qzrcr7j2zdd/dynorobotics.se/public_html/wp-includes/Requests/Cookie/Jar.php on line 111

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/webvol36/1m/n7c3qzrcr7j2zdd/dynorobotics.se/public_html/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 40

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/webvol36/1m/n7c3qzrcr7j2zdd/dynorobotics.se/public_html/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 51

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/webvol36/1m/n7c3qzrcr7j2zdd/dynorobotics.se/public_html/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 68

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/webvol36/1m/n7c3qzrcr7j2zdd/dynorobotics.se/public_html/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 82

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/webvol36/1m/n7c3qzrcr7j2zdd/dynorobotics.se/public_html/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 91
Autonomous Navigation – Dyno Robotics

Autonomous Navigation

Automatic path planning and following is an essential part of many useful robot applications. At Dyno Robotics we have a broad experience of applying autonomous navigation technologies to real world applications.

Some interesting areas where autonomous navigation is highly relevant are:

  • The transportation sector, autonomous cars and public transportation for example
  • Automatic logistics solutions for warehouses
  • Last mile delivery robots in urban environments
  • Coverage planning for grass cutting or cleaning robots
  • Social guiding robots for museums or other public places
  • Autonomous inspection of industrial sites

We are especially interested in mobile robots, navigating inside or outside, on the sea or even in the air!

Autonomous navigation in your business

We can help you create awesome solutions for your business using autonomous navigation. We’ll handle all of the complexities and create great solutions for your project – no matter the size of you organization or the industry you’re operating in.

Technological framework

Reliable autonomous navigation is comprised of many different technologies. For example software to localize the robot from its input sensor data (GPS, visual odometry, laser range sensors, IMU). Depending on the application it is common to split the path planning into two layers. First the global path planner that takes into account static obstacles and that can efficiently plan a path over long distances. The global path planner can either be a point A to point B style planner or a coverage path planner if you want the robot to instead cover an area. If the robot will operate in an environment with dynamic obstacles such as other robots or even alongside humans, the second layer of the path planner will be the local planner. It is responsible for creating a short time horizon plan from the current robot position and extending only a couple of meters. This local plan is continuously updated many times per second to take into account dynamic obstacles and avoid them. The last common ingredient is a control loop that makes the robot accurately follow the path by rotating it wheels at the correct speed.

Hybrid A* and pure pursuit in the ROS2 navigation stack

In many of our projects we recommend using the navigation stack of the open source robotics framework ROS2. It contains a set of global and local planners that can be configured or modified in code to fit the project. 

Model predictive control (MPC)

Applications where high accuracy is important and where to autonomous vehicle has a complicated motion model (such as a forklift or a truck with trailer) it can be very challenging. In these situations a technique called Model Predictive Control (MPC) is very effective. It is a control method where the constraints on the motion of the vehicle is taken into account mathematically in the controller. We formulate a optimization problem where the objective is to minimize a cost function (for example described by how well the vehicle tracks the path), and where the optimization is constrained by the motion model of the vehicle (cars can not move sideways, a forklift needs to turn is back wheel to steer, a truck backing up with a trailer is unstable).

Coverage planning in 3D point clouds

In 2020 we supervised a masters thesis project in coverage planning in 3D point cloud. This is an area that we identified as an important field to solve for many real world applications where the surface to cover is not flat. We see this being applied to coverage in multi level parking houses or in urban environments outside.

Simulating in the Unity3D engine

To achieve fast iteration in our development we like to setup a simulation of robot in our own open source robotics simulation plugin for the Unity3D engine. This GIF comes from a project where we created a autonomous raft that covered and area in the sea by pulling on ropes attached to electric winches. Before deploying and testing in the ruff environment in the sea we first tested the navigation and control in our simulator.

Do you have a project that you want to discuss?

Wether you want to create something completely new, or add modern robotics & AI technology to your existing products - our inbox is open!

Have a look at some of our other projects

Hat of values

The Hat of Values is an experience centered around a talkative AI inside of a wooden box that hangs from the ceiling.