Welcome to the third entry in Zupt Autonomous Products and Technologies (ZAPT) blog series: Stories From Our Engineers.
As a technology company, our engineers have combined their knowledge from mechanical, navigation, localization, perception, and electrical engineering fields to build our first fully autonomous product, a robotic commercial lawnmower known as Nomad. During this series, several of our lead engineers will share their take on how they played a role in designing Nomad, what makes it unique to them, and the future they see. The next engineer we would like you to meet is Vash, our Control Engineer responsible for Nomads global path planner and local path planner.
What He Brings
When Vash was at University of Pennsylvania graduate school, he studied control systems. He wrote several sections of code still in use today to find the shortest distance between two waypoints. He says, "I have written various grid-based global path planning algorithms like the Dijkstra's and A* algorithms, probabilistic path planners like RRT and RRT* and I have also written a potential field-based path planner." However, we need multiple capabilities within the global planner algorithm for Nomad. Therefore, Vash has implemented a modified Boustrophedon planner to cut the grass in parallel lines to optimize coverage by never re-visiting a particular location. As this global planner matures, he will want to minimize the time to mow and further optimize the distance traveled by writing feedback controllers to track the path and control Nomad's speed while cutting.
Vash has always had an interest in robotics, and he is excited to continue to bring his interest in robots into real applications. He started his education as a mechanical engineer. One semester, he decided to take a course on "Design of Mechatronics Systems," where he built a robot from scratch in a team. Vash says that course was what "got me interested in the electronic engineering components associated with "building robots" and where he discovered his natural talent in software programming.
What He Does
Vash's primary responsibility is working on both the global path planner and local path planning algorithms.
The Global path algorithm takes satellite data imagery to define the job site's outer and inner bounding polygons, and this defines the full coverage mowing area for Nomad. He explains his role as "If you have a field, how would you optimally drive around the field?" Essentially, he works on obtaining a sequence of points to determine Nomad's most optimal mowing pattern, with an understanding of the field and an understanding of the capabilities of Nomad (a kinematic model of Nomad).
Global Path Planning:
He computes the complete field coverage global planning algorithms such as the Boustrophedon planner that takes a list of coordinates from satellite data to define a polygon and makes a PGM image. This polygon then decomposes into smaller cells, and a parallel path is planned in each of them.
Local Path Planning:
He uses a TEB local planner on Nomad
He takes waypoints given by the global planner and makes Nomad stick to the path as close as possible.
His inputs are the full localization and perception suite of sensors, including LiDAR, imagery, GNSS, and inertial data. The local planner drives a path around static and dynamic obstacles as Nomad detects them.
Traveling between nearby mowing sites:
He is currently writing an algorithm that defines the order to cut different areas to optimize the distance and time traveled so Nomad would not need any human intervention to move between spaces and start mowing. This capability is critical for large Home Owners Association (HOA) subdivision projects where multiple areas need to be cut in a single day.
What He Likes
Vash explicitly likes the dynamics of Nomad with a minimum turning radius implemented at the global planning level. He says, "Nomad can go from fat to skinny, and this functionality is useful to traverse narrow spaces." Also, Nomad has four independently steering wheels which make Nomad omnidirectional and allow multiple driving modes to be possible. Vash explains that some driving modes that are possible with Nomad are "Ackermann steering with front wheels, Ackermann steering with all four wheels, and all wheels that turn with the same steering angle, or crab mode."
What He Sees
Vash would be excited to see Nomad drive with zero human intervention for prolonged periods, such as the ability to cross the street and go through fences autonomously. He says he would "like to see it driving down the road someday" to arrive at its pre-determined geofenced location. But first, we must supervise these actions until we have a very safe track record. The ultimate target is to cut swaths of grass with minimal overlap (currently, we allow a localization safety margin), significantly improving productivity through the global and local path planner algorithms. We are not that far from proving our end goal, where Nomad can cut the grass with higher productivity than a 10-year crew member on the job.
Next time, our Stories From Our Engineers blog will feature Josh, our Mechanical Engineer responsible for Nomads power and electrical components.