To individually test and familiarize myself with the components that I would need for the final plume tracing portion of my project, I used the documentation and tutorials provided online and in the packages. Shown to the left is the RViz simulation of one of the tutorials, moving the robot with the default PID controller by passing it a list of positional waypoints. Moving the robot is also possible by passing in a waypoint through a service call, which is what I used in my final implementation.
At this point I should mention that all the simulation for this project took place in RViz; the visualization for plume simulation is currently
unavailable on Gazebo. User-controllable options for the plume included: location of the source, plume visualization boundary, and velocity of the current (limited to horizontal manipulation). Simulated particles naturally rise due to buoyancy modelled within the simulator. Shown below is a plume with no current and a 'normal' plume. The colors represent time from creation - particles are continuously created at source.