Wiki
Clone wikicola2_core / simulation
COLA2 Simulation
COLA2 includes a package named cola2_sim
which allows to simulate the dynamics of an AUV and its sensors in order to be able to run most of COLA2 nodes the same way they run on the real vehicle.
-
dynamics
: this node receives the thruster setpoints (or the vehicle forces and torques, if desired) generated by the vehicle controllers and generates the current vehicle’s pose with respect to the world frame (x, y, z, roll pitch, yaw) and twist (surge, sway, heave, angular velocity in the x axis, angular velocity in the y axis and angular velocity in the z axis) velocities with respect to the robot frame. If configured to receive the thruster’s setpoints, the conversion done from force to setpoint in the thruster allocator is reversed, and the safety ramp and thruster time constant τ are also simulated. These parameters as well as the rest of the dynamic model of the vehicle can be configured using the filecola2_sparus2/config/dynamics.yaml
. It is also possible to simulate the effect of water currents. The user can introduce a water current velocity expressed in the world frame by publishing a standard ROSgeometry_msgs/Vector3Stamped
message to the topic/<vehicle>/dynamics/current
. -
sim_auv_nav_sensors
: this node uses the dynamics output to simulate the real AUV navigation sensors. It takes as inputs the pose and twist generated by the dynamics node and publishes messages simulating the GPS (if the vehicle is in the surface), the pressure sensor, the IMU and the DVL. All these messages are published at a similar rate to that of the real sensors and contain a random noise that can be configured incola2_<vehicle>/sim_config/sim_auv_nav_sensors.yaml
. Thanks to these simulated sensors, the same navigator framework can be executed regardless of working in simulation or with the real vehicle. -
sim_internal_sensors
: this node simulates the batteries (i.e., a decaying battery charge) and different diagnostics from internal boards (water sensors, temperatures, etc.)
Updated