https://github.com/uos/radarays_gazebo_plugins
Rotating FMCW Radar Simulation in Gazebo
https://github.com/uos/radarays_gazebo_plugins
gazebo gazebo-plugin navtech radar ros
Last synced: 5 months ago
JSON representation
Rotating FMCW Radar Simulation in Gazebo
- Host: GitHub
- URL: https://github.com/uos/radarays_gazebo_plugins
- Owner: uos
- License: bsd-3-clause
- Created: 2023-12-04T17:18:25.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-26T13:13:10.000Z (over 2 years ago)
- Last Synced: 2024-03-27T14:32:03.225Z (over 2 years ago)
- Topics: gazebo, gazebo-plugin, navtech, radar, ros
- Language: C++
- Homepage:
- Size: 334 KB
- Stars: 6
- Watchers: 7
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# radarays_gazebo_plugins
[radarays_ros](https://github.com/uos/radarays_ros) Gazebo plugin.
## Dependencies
- rmagine (embree / optix backend)
- rmagine_gazebo_plugins
- radarays_ros
## Raytracing acceleration structure - World file
For constructing and continuously updating the acceleration structure for ray tracing, add the following lines to your world files:
```xml
...
0.001
0.001
0.001
200
0.001
0.001
0.001
500
...
```
See [rmagine_gazebo_plugins](https://github.com/uos/rmagine_gazebo_plugins) for further explanations on that.
## Materials
You can assign so called `radarays_materials` to visuals of a model. An example is in `worlds/avz_collada.world`:
```xml
...
true
0 0 0 0 0 0
false
./avz_no_roof.stl
1.0 1.0 1.0
0.0
1.0
0.0
3000.0
...
```
## Examples
Important files are:
- urdf/robot_radar_cpu.urdf -> URDF for a robot with a radar sensor simulated on CPU
- urdf/robot_radar_gpu.urdf -> URDF for a robot with a radar sensor simulated on GPU
- worlds/avz_collada.world -> Gazebo world-file that contains a mesh of an office with `radarays_materials` attached to it.
### example_robot.launch
Example for a robot that is spawned in a office-like environment, with `radarays_materials` attached to it.
Run CPU version of radarays with Gazebo by calling
```console
roslaunch radarays_gazebo_plugins example_robot.launch rmagine:=embree
```
Run GPU version of radarays with Gazebo by calling
```console
roslaunch radarays_gazebo_plugins example_robot.launch rmagine:=optix
```

## Radar Parameters
You can change the radar parameters of the Gazebo simulation using dynamic reconfigure:
```console
rosrun rqt_reconfigure rqt_reconfigure
```
Note: We are using the same set of parameters (configuration file) we used for the experiments in `radarays_ros`:
- Some parameters are only used in the experiments but not in the Gazebo simulation
- For the sake of performance, the Gazebo plugin does not consider the robot's motion while simulating a polar image. (we will add this in the future)
## Known Issues
- At some point I got a segmentation fault when using rmagine's CPU simulators inside of the Gazebo threads. Unfortunately, I couldn't reproduce those errors.