12. Autonomous Navigation
Based on your skill level, there are beginner and advanced solutions for navigation and object avoidance. This page provides details and links to various navigation solutions that fit your robot's requirements and budget.
This video tutorial shows you how to add navigation with waypoints to a robot using a 360-Degree Lidar. This same result can be achieved using ARC's Lidars on any robot with a movement panel.
Navigation solutions range from low-cost single sensors to 3D depth cameras and 360-degree lidars. You can decide what type of sensors to add to your robot and choose the appropriate robot skills.
1. Simple Object Avoidance
The simplest and lowest-cost navigation method uses distance sensors to avoid walls and other objects in the robot's path. This can be done with a single sensor or several sensors. Popular sensors for this simple solution are Ping Ultrasonic and IR Distance.
Ultrasonic Distance Robot Skills
Infrared Distance Robot Skills
2. Autonomous Navigation
ARC contains a messaging system for navigation called the Navigation Messaging System (NMS for short). While there are many navigation sensors, they vary in cost and accuracy.
ARC's most popular SLAM for autonomous navigation system is The Better Navigator, which can navigate between stored points. The Better Navigator takes the average 3D point of a set of waypoints and uses that to navigate. The sensor data input type is essential for The Better Navigator to perform the desired operation. We recommend combining a 360-degree lidar with The Better Navigator robot skill. See the list below for supported Lidars, depth cameras, and many other navigation robot skills.
SLAM Navigation Robot Skills
Here is a list of ARC robot skills for navigation, including autonomous navigation and remote control. In many cases, it may be necessary to combine autonomous navigation with remote control if the robot gets stuck. Another option is to use Exosphere and have the robot request user assistance when it gets stuck.
Standalone autonomous navigation using Beitian BN-880 GPS/Compass with real-time map waypointing and offline map caching; requires Arduino.
Overhead camera tracks a glyph to give precise robot pose to ARC's NMS for multi-camera indoor/outdoor navigation and waypoint control
Creates a map in a global variable; proof-of-concept SLAM visualizer (very experimental).
Hitachi-LG 360° LiDAR driver that feeds scans into ARC's Navigation Messaging System for obstacle detection, SLAM mapping, and navigation integration
Infrared indoor positioning for ARC robots: dual-camera tracks IR beacon, shows real-time heading, path and EZ-Script navigation variables
Connect Intel RealSense depth cameras to ARC NMS for depth-based distance detection, point-cloud mapping, video streaming, and navigation telemetry.
T265 VSLAM for ARC: SLAM-based mapping and precise way-point navigation, low-power tracking, and NMS telemetry.
Publishes Kinect (Xbox 360) obstacle distance scans to ARC NMS for SLAM/Navigator, using configurable detection area to ignore irrelevant depth.
Example NMS Level #1 navigation skill showing subscription to combined scan+location data, displaying position and scan info; source code included.
Estimate pose odometry from movement distance for robots without encoders, calibrated by speed. Suited for DIY navigation; pose drifts with lidar.
Pineapple Technology Industries Capstone plugin adds a secretive LiDAR unit to ARC for distance measurement.
Slamtec LiDAR driver that streams 360° scans to ARC NMS (Level 3, Group 1) for SLAM, mapping, and navigation with offset and COM configuration.
Better Navigator Hector SLAM-based NMS navigation that maps with LiDAR/depth, saves waypoints, plans paths and avoids obstacles for autonomous travel
Path-planning navigator using ARC NMS position and obstacle data to map, log trajectories, and autonomously follow waypoints.
Wavefront grid planner computes collision-free, deterministic paths from start to goal using known occupancy maps for indoor robots.
Arduino UNO wheel encoder interface: reads left/right encoder ticks, outputs wheel counts, configurable for accurate NMS pose telemetry and SLAM.
Real-time 2D mapping from Neato XV-11 360° LIDAR via GetSurreal controller; exports $LIDARDistance/$LIDARIntensity, configurable angles, color, zoom.