This example provides a Unity Project and a colcon workspace that, when used together, allows a user to substitute Unity as the simulation environment for the purposes of following the Navigation 2 SLAM tutorials. In following the setup instructions below, you will exercise Unity's ROS 2 integration, explore an example environment generated with our Robotics Warehouse randomizable environment, and learn about ways in which this project could be extended to support a more specific use case or automated to provide continuous integration testing of a robotics navigation stack.
If you are brand new to Unity, found this example intersting, and want to learn more about how to use the Unity Editor, you may find these tutorials very useful for better familiarizing yourself with the Editor interface:
- Exploring the Editor Layout: a 10 minute tutorial giving a quick and straightforward overview of the Editor layout
- Using the Unity Interface: a 1 hr tutorial, which includes more context for each window and short introductions to commonly used components of the Scene
If you'd like more information about how to create customized environments, you may find some of these very in-depth tutorials on the creation of environments in Unity useful:
- Foundations of Real-Time 3D: A comprehensive look on the various aspects of building a realtime 3D environment in Unity. Although the whole course is 3 hours and 30 minutes, you may skip to the courses that are most relevant to your use case, which are likely to be Work with GameObjects in a 3D Scene, Add components to 3D GameObjects, and Get 3D assets
- Environments Live Session: This Session provides a deeper dive into the intricacies of constructing a believable environment. While its focus is on environments for game development, most of the content is just as relevant to anyone interested in building realistic environments for simulation.
Many issues you may encounter can be solved by performing an internet search on the relevant error message and following the troubleshooting tips you find online. If you've already investigated your issue and haven't been able to find a suitable solution, please submit an Issue ticket here, describing your issue with as much detail as possible, including logs and screenshots as appropriate, and we'll do our best to help you resolve it.
Visit the Unity Robotics Hub for more robotics-related tutorials and examples. Join in on discussions on robotics or start your own in the official Unity Robotics Forums.