This repository contains the Unity3D based implementation of a 2D SLAM ROS package. The goal of this project was to
provide an "easy-to-use" testbed, for 2D algorithms. CUrrently, implemented amcl and gmapping.
This package is designed to for testing 2D SLAM algorithms, using ROS (Robot Operating System). After running these, we can expect to get tf, scan, cmd_vel, odom. After following any tutorial for generating a map(example: using gmapping), with this Unity environment, we can get the map. This is an educational project that demonstrates the basics of ROS navigation stack using a simulation platform other than Gazebo.
Before you start using this package, ensure you have the following installed:
- ROS (compatible with ROS Kinetic, Melodic, or Noetic).
- Navigation stack your version of ROS.
Clone the repository into your catkin workspace's src directory:
cd ~/catkin_ws/src
git clone https://github.com/tejasps28/Projects.git
cd ~/catkin_ws
catkin build
# Source your environment
source ~/catkin_ws/devel/setup.bash
# Run the unity endpoint launch
roslaunch ros_tcp_endpoint endpoint.launch
# In another terminal, run the navigation node
roslaunch amr_navigation move_base.launch
The ros_tcp_endpoint is a unity TCP-bridge of sorts, that establishes connection between Unity and ROS.
For more information, refer this.
The move_base.launch is a boilerplate template of navigation stack's implementation. Go through it for further understanding.
NOTE: This is using an exisiting version of the environment as map. You can follow any tutorial for creating a map, regenerate it and test out the SLAM.
