SentiBotics Navigation SDK
Imitation learning-based autonomous robot navigation kit
The software development kit is designed for researchers and engineers working on autonomous robot navigation projects. The kit may be also used for educational purposes in universities and other education institutions.
Available as either a complete, ready-to-run robotics system that includes Neurotechnology's mobile reference platform prototype, or as a software-only option for integration into existing robotics hardware.
Features and Capabilities
- Proprietary deep neural network based algorithm for imitation learning based autonomous robot navigation.
- Autonomous navigation over long distances.
- Object learning and recognition engine included.
- Software Development Kit is based on Tensorflow and ROS (Robot Operating System) framework middleware.
- Gazebo simulator is fully integrated with the kit, and can be used for software development and algorithm evaluation without the need for robotic hardware.
- Complete source code for the robotics algorithms is included.
- Detailed specifications for the robotics hardware are included.
- Ready-to-run mobile robot prototype is optionally available.
SentiBotics Navigation SDK provides the following functionality:
- Imitation learning based autonomous robot navigation – the robotics user, via the control interface, first runs the robot several times in the desired closed trajectory. During this process, training data pairs (images and control pad commands) are captured and a deep neural network and imitation learning-based motion controller are established off-line using the TensorFlow framework and provided controller-training infrastructure. Once the controller is fully trained, the robot may be placed at any point along the learned trajectory and it will function autonomously within that environment.
- Autonomous navigation over long distances – the trained controller will allow the robot to navigate over distances in excess of multiple hundreds of meters.
- Object learning and recognition – users may enroll objects of interest into the included object recognition engine for additional enhancement of the controller-learned space. The object recognition capability may allow to perform certain actions once a particular object is detected, as well as perform automatic robot recharging by searching for docking stations along the trajectory.
- Easy integration with other ROS-based robots – SentiBotics Navigation SDK uses Tensorflow infrastructure for training and executing DNN-based robot navigation controllers. It also relies on ROS middleware (versions Kinetic Kame and Melodic Morenia are supported). The algorithm needs data input only from a single webcam and two low cost ultrasonic range finders, thus does not require any advanced hardware for scanning the environment.
- Source code for the robotics algorithms – the SDK includes the Python and C++ code for all robotics algorithm implementations (trajectory learning and execution, object learning and recognition, high-level robot control interface), URDF description of robot models, and software for integration of SentiBotics Navigation SDK with the Gazebo simulator.
Usage scenarios –
the algorithms run in simulator or in a real-world (with robot hardware) modes.
The training data collection and controller training are the same for all scenarios:
- Gazebo robotic simulator – SentiBotics Navigation SDK includes fully integrated Gazebo simulator software and allows to perform navigation controller training in a virtual environment. A comprehensive 3D test model, complete with an office layout and simulated SentiBotics robot, is included. This scenario has the lowest hardware requirements, as it requires only a PC that meets the system requirements.
- Remote robot – in this scenario a robot transmits camera images and sensor data to a PC or server that runs the SentiBotics Navigation software for computing motion commands The generated commands are then sent back to the robot. This scenario has low hardware requirements for the robot but requires robust wireless network connection.
- Stand-alone robot – the trained controller is converted to Movidius graph format, uploaded to the robot's computer, and executed onboard. This scenario requires a robot with dedicated hardware for DNN computations, like Movidius NCS dongle or a GPU. In this scenario the robot can be used in areas without wireless network coverage.
- Robotic hardware – documentation with detailed specifications for the SentiBotics reference mobile platform hardware can be downloaded for free. SentiBotics Navigation SDK customers can also purchase a ready-to-run mobile robot prototype.