An open API service indexing awesome lists of open source software.

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

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
```

![Teaser](media/radarays_gazebo_plugin.png)

## 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.