Wiki

Clone wiki

cola2_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 file cola2_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 ROS geometry_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 in cola2_<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