Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion _data/navigation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,8 @@ wiki:
url: /wiki/simulation/an-introduction-to-isaac-sim/
- title: Simulating UGVs in Unity
url: /wiki/simulation/simulating-ugvs-in-unity/
- title: Creating a URDF from a CAD Model using OnShape
url: /wiki/simulation/cad-to-urdf/
- title: Interfacing
url: /wiki/interfacing/
children:
Expand Down Expand Up @@ -397,4 +399,4 @@ docs:
- title: Contribute
children:
- title: Introduction
url: /docs/
url: /docs/
Binary file added assets/images/simulation/export.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/simulation/onshape_link_names.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/simulation/urdf_validation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
319 changes: 319 additions & 0 deletions wiki/simulation/cad-to-urdf.md

Large diffs are not rendered by default.

97 changes: 50 additions & 47 deletions wiki/simulation/index.md
Original file line number Diff line number Diff line change
@@ -1,47 +1,50 @@
---
date: 2024-12-05
title: Simulation
---
<!-- **This page is a stub.** You can help us improve it by [editing it](https://github.com/RoboticsKnowledgebase/roboticsknowledgebase.github.io).
{: .notice--warning} -->

This section focuses on **simulation tools, techniques, and environments** for robotics applications. From lightweight simulators to full-scale dynamic environments like CARLA and Autoware, these articles provide insights into building, configuring, and optimizing simulators for various robotics use cases.

## Key Subsections and Highlights

- **[Gazebo Classic Simulation of Graspable and Breakable Objects](/wiki/simulation/gazebo-classic-simulation-of-graspable-and-breakable-objects/)**
Details the setup of a Gazebo Classic simulator for bimanual manipulation, featuring breakable joints and robust grasping plugins.

- **[Building a Light-Weight Custom Simulator](/wiki/simulation/Building-a-Light-Weight-Custom-Simulator/)**
Discusses the design and implementation of a minimal simulator for testing reinforcement learning algorithms. Focuses on simplicity, customizability, and minimal noise. Highlights considerations like minimizing external disturbances, reducing development effort, and maintaining a reliable architecture.

- **[Design Considerations for ROS Architectures](/wiki/simulation/Design-considerations-for-ROS-architectures/)**
Provides a comprehensive guide to designing efficient ROS architectures for simulation and robotics. Covers critical aspects like message dropout tolerance, latency, synchronous vs asynchronous communication, and task separation. Includes practical tips for optimizing communication and node performance in ROS-based systems.

- **[NDT Matching with Autoware](/wiki/simulation/NDT-Matching-with-Autoware/)**
Explains the Normal Distribution Transform (NDT) for mapping and localization in autonomous driving. Includes step-by-step instructions for setting up LiDAR sensors, generating NDT maps, and performing localization. Covers hardware and software requirements, troubleshooting, and visualization techniques using Autoware and RViz.

- **[Simulating Vehicles Using Autoware](/wiki/simulation/simulating-vehicle-using-autoware/)**
Details the process of simulating an Ackermann-drive chassis in Autoware. Includes configuring vehicle models, adding sensors, customizing worlds in Gazebo, and using path-planning algorithms like Pure Pursuit and OpenPlanner. Explores sensor simulation and integration with existing ROS packages for enhanced functionality.

- **[NVIDIA Isaac Sim Setup and ROS2 Workflow](/wiki/simulation/simulation-isaacsim-setup/)**
Provides a complete guide for installing Isaac Sim, configuring sensor modules, and integrating it with ROS 2 frameworks like Nav2 and MoveIt. Covers both local and remote (headless) installations, and demonstrates scene management and robot model imports for MRSD projects.

- **[Spawning and Controlling Vehicles in CARLA](/wiki/simulation/Spawning-and-Controlling-Vehicles-in-CARLA/)**
A hands-on tutorial for spawning and controlling vehicles in the CARLA simulator. Covers connecting to the CARLA server, visualizing waypoints, spawning vehicles, and using PID controllers for motion control. Demonstrates waypoint tracking with visual aids and includes example scripts for quick implementation.

## Resources

### General Simulation Tools
- [Gazebo Tutorials](http://gazebosim.org/tutorials)
- [Autoware Documentation](https://autowarefoundation.gitlab.io/autoware.auto/AutowareAuto/)
- [CARLA Simulator Documentation](https://carla.readthedocs.io/en/latest/)

### Specific Techniques and APIs
- [ROS Multi-Machine Setup Guide](http://wiki.ros.org/ROS/Tutorials/MultipleMachines)
- [PyBluez Documentation](https://people.csail.mit.edu/albert/bluez-intro/c33.html)
- [PCL_Viewer for Point Cloud Maps](https://pointclouds.org/documentation/tutorials/visualization.php)

### Advanced Topics
- [OpenPlanner and Vector Map Builder](https://autowarefoundation.gitlab.io/autoware.auto/AutowareAuto/plan/)
- [Comparison of Simulation Noise Models](http://gazebosim.org/tutorials?tut=sensor_noise_models)
---
date: 2024-12-05
title: Simulation
---
<!-- **This page is a stub.** You can help us improve it by [editing it](https://github.com/RoboticsKnowledgebase/roboticsknowledgebase.github.io).
{: .notice--warning} -->

Comment on lines +5 to +7
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would you mind removing this comment since you're already making changes to this page?

Suggested change
<!-- **This page is a stub.** You can help us improve it by [editing it](https://github.com/RoboticsKnowledgebase/roboticsknowledgebase.github.io).
{: .notice--warning} -->

This section focuses on **simulation tools, techniques, and environments** for robotics applications. From lightweight simulators to full-scale dynamic environments like CARLA and Autoware, these articles provide insights into building, configuring, and optimizing simulators for various robotics use cases.

## Key Subsections and Highlights

- **[Gazebo Classic Simulation of Graspable and Breakable Objects](/wiki/simulation/gazebo-classic-simulation-of-graspable-and-breakable-objects/)**
Details the setup of a Gazebo Classic simulator for bimanual manipulation, featuring breakable joints and robust grasping plugins.

- **[Building a Light-Weight Custom Simulator](/wiki/simulation/Building-a-Light-Weight-Custom-Simulator/)**
Discusses the design and implementation of a minimal simulator for testing reinforcement learning algorithms. Focuses on simplicity, customizability, and minimal noise. Highlights considerations like minimizing external disturbances, reducing development effort, and maintaining a reliable architecture.

- **[Design Considerations for ROS Architectures](/wiki/simulation/Design-considerations-for-ROS-architectures/)**
Provides a comprehensive guide to designing efficient ROS architectures for simulation and robotics. Covers critical aspects like message dropout tolerance, latency, synchronous vs asynchronous communication, and task separation. Includes practical tips for optimizing communication and node performance in ROS-based systems.

- **[NDT Matching with Autoware](/wiki/simulation/NDT-Matching-with-Autoware/)**
Explains the Normal Distribution Transform (NDT) for mapping and localization in autonomous driving. Includes step-by-step instructions for setting up LiDAR sensors, generating NDT maps, and performing localization. Covers hardware and software requirements, troubleshooting, and visualization techniques using Autoware and RViz.

- **[Simulating Vehicles Using Autoware](/wiki/simulation/simulating-vehicle-using-autoware/)**
Details the process of simulating an Ackermann-drive chassis in Autoware. Includes configuring vehicle models, adding sensors, customizing worlds in Gazebo, and using path-planning algorithms like Pure Pursuit and OpenPlanner. Explores sensor simulation and integration with existing ROS packages for enhanced functionality.

- **[NVIDIA Isaac Sim Setup and ROS2 Workflow](/wiki/simulation/simulation-isaacsim-setup/)**
Provides a complete guide for installing Isaac Sim, configuring sensor modules, and integrating it with ROS 2 frameworks like Nav2 and MoveIt. Covers both local and remote (headless) installations, and demonstrates scene management and robot model imports for MRSD projects.

- **[Spawning and Controlling Vehicles in CARLA](/wiki/simulation/Spawning-and-Controlling-Vehicles-in-CARLA/)**
A hands-on tutorial for spawning and controlling vehicles in the CARLA simulator. Covers connecting to the CARLA server, visualizing waypoints, spawning vehicles, and using PID controllers for motion control. Demonstrates waypoint tracking with visual aids and includes example scripts for quick implementation.

- **[Creating a URDF from a CAD Model using OnShape](/wiki/simulation/cad-to-urdf/)**
Step-by-step instructions for generating URDFs from OnShape. Includes best practices for assembly cleanup in SolidWorks, defining revolute and prismatic joints, and fixing common mesh and coordinate transform errors.

## Resources

### General Simulation Tools
- [Gazebo Tutorials](http://gazebosim.org/tutorials)
- [Autoware Documentation](https://autowarefoundation.gitlab.io/autoware.auto/AutowareAuto/)
- [CARLA Simulator Documentation](https://carla.readthedocs.io/en/latest/)

### Specific Techniques and APIs
- [ROS Multi-Machine Setup Guide](http://wiki.ros.org/ROS/Tutorials/MultipleMachines)
- [PyBluez Documentation](https://people.csail.mit.edu/albert/bluez-intro/c33.html)
- [PCL_Viewer for Point Cloud Maps](https://pointclouds.org/documentation/tutorials/visualization.php)

### Advanced Topics
- [OpenPlanner and Vector Map Builder](https://autowarefoundation.gitlab.io/autoware.auto/AutowareAuto/plan/)
- [Comparison of Simulation Noise Models](http://gazebosim.org/tutorials?tut=sensor_noise_models)