Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add option to run gazebo headless with use_gui #116

Merged
merged 1 commit into from
Jan 3, 2025

Conversation

talhabw
Copy link
Contributor

@talhabw talhabw commented Jan 2, 2025

We don't always need to see the gui to test the robot in simulation. We may also use this functionality in the future to test the robot performance in Github Actions CI.

@talhabw talhabw requested a review from senceryazici January 2, 2025 16:28
@talhabw talhabw self-assigned this Jan 2, 2025
@talhabw talhabw merged commit dff9007 into add_auv_sim Jan 3, 2025
8 checks passed
@talhabw talhabw deleted the talha/headless-gazebo branch January 3, 2025 20:43
senceryazici added a commit that referenced this pull request Jan 14, 2025
* create package structure for auv_sim

* Added descriptions, spawn.launch and start_gazebo.launch files

* Delete urdf's in auv_sim_description

* Change default namespace to taluy

* Use auv_description instead of auv_sim_description

* start control nodes at gazebo launch

* restructure `auv_sim_description`

- remove unnecessary folder

* use taluy_sim.urdf.xacro as main simulation macro

- we will use this to include gazebo plugins

* create camera, imu and thruster gazebo plugins

- plugin settings need to be edited

* add gazebo plugin for bottom camera

* add `topic_name` parameter to gazebo camera plugin

- use `topic_name` to match the original camera topic names
- also update plugin specs with logitech c920 specs

* rename `thrusterID` to `thruster_id`

it is urdf/xacro convention to use snake_case

* move gazebo tags in `t200.urdf.xacro` to it's auv_sim macro

* use the uuv_simulator plugin for imu

- Replace the libgazebo_ros imu plugin with libuuv_gazebo_ros imu plugin. This is how it was in the legacy repo, so I thought this should be better.
- Changed the joint type of the IMU link from `fixed` to `revolute` (with movement limits) to resolve an issue where libuuv_gazebo_ros plugins couldn't detect fixed links in Gazebo.
- Noted that Gazebo doesn't recognize links with fixed joints as standalone links, which seems to cause this issue.

* create bar30 gazebo plugin

- use libuuv_gazebo_ros_subsea_pressure_plugin
- Changed the joint type of the bar30 link from `fixed` to `revolute` (with movement limits) to resolve an issue where libuuv_gazebo_ros plugins couldn't detect fixed links in Gazebo.
- Noted that Gazebo doesn't recognize links with fixed joints as standalone links, which seems to cause this issue.

* create sonar gazebo plugin

- implemented from legacy repo (ituauv-uuv-descriptions)

* added base bridge nodes (not ready yet)

* modify package.xml files

* create base_link hydrodynamics plugin

- the values in base_link_ned are robot spesific and belongs to turquoise, we need to change them with taluy's values

* Add Singapore pool world and model

* create package structure for auv_sim

* Added descriptions, spawn.launch and start_gazebo.launch files

* Delete urdf's in auv_sim_description

* Use auv_description instead of auv_sim_description

* start control nodes at gazebo launch

* restructure `auv_sim_description`

- remove unnecessary folder

* use taluy_sim.urdf.xacro as main simulation macro

- we will use this to include gazebo plugins

* create camera, imu and thruster gazebo plugins

- plugin settings need to be edited

* add gazebo plugin for bottom camera

* add `topic_name` parameter to gazebo camera plugin

- use `topic_name` to match the original camera topic names
- also update plugin specs with logitech c920 specs

* rename `thrusterID` to `thruster_id`

it is urdf/xacro convention to use snake_case

* move gazebo tags in `t200.urdf.xacro` to it's auv_sim macro

* use the uuv_simulator plugin for imu

- Replace the libgazebo_ros imu plugin with libuuv_gazebo_ros imu plugin. This is how it was in the legacy repo, so I thought this should be better.
- Changed the joint type of the IMU link from `fixed` to `revolute` (with movement limits) to resolve an issue where libuuv_gazebo_ros plugins couldn't detect fixed links in Gazebo.
- Noted that Gazebo doesn't recognize links with fixed joints as standalone links, which seems to cause this issue.

* create bar30 gazebo plugin

- use libuuv_gazebo_ros_subsea_pressure_plugin
- Changed the joint type of the bar30 link from `fixed` to `revolute` (with movement limits) to resolve an issue where libuuv_gazebo_ros plugins couldn't detect fixed links in Gazebo.
- Noted that Gazebo doesn't recognize links with fixed joints as standalone links, which seems to cause this issue.

* create sonar gazebo plugin

- implemented from legacy repo (ituauv-uuv-descriptions)

* added base bridge nodes (not ready yet)

* modify package.xml files

* create base_link hydrodynamics plugin

- the values in base_link_ned are robot spesific and belongs to turquoise, we need to change them with taluy's values

* update

* reduce dummy masses

* remove base link ned pub

* update rviz

* update

* add sim deps

* update

* create auv_common_sim and taluy_sim

* remove the `_sim` suffix, call plugins in base

* move worlds and config to 'auv_sim_description'

* update

* fix typo

* improve simulation_mock_node and fix thruster issue (#83)

* add navigation launch file

* add dvl velocity implementation to auv_sim (#86)

* create dvl plugin and bridge

* remove dvl plugin

- velocity and altitude values we get from uuv_simulator plugin is not consistent with the ground truth

* use odometry_gt in dvl bridge

- rotate the velocity from the ground truth by 135 degrees to compensate for the rotation at `dvl_odometry_node`

* add altimeter

- use ray sensor and range plugin from gazebo to mock an altimeter
- invalidate the dvl data and set dvl/isValid to false when altitude < 0.3

* add noise to dvl data

- use the pre-calculated dvl covariances from `auv_localization`

* set gt reference frame to odom

* use reference instead of copy

* create kMinDvlAltitude constant

* use ros timer instead of `rate.sleep()`

* use dvl frame for dvl_altimeter

- rename altimeter to dvl_altimeter to make it easier to understand altimeter is used to mock the dvl in simulation

* revert arg default

* remove legacy variable

- remove the duplicate dvl_rate variable and remove the usage of ros::Rate since now we use ROS timer to do its job

* add uuv_simulator dvl plugin

- use it both for the altitude and the velocity, works as intended

* create another link for sim dvl

* remove position and orientation params

* remove unused parameters in dvl macro

* enhancements to simulation launch files (#85)

* add model.config files (#88)

Co-authored-by: frk781 <mimarlarf@gmail.com>

Squashed commit of the following:

commit 2b6ced1
Author: frk781 <mimarlarf@gmail.com>
Date:   Sat Dec 7 19:11:35 2024 +0300

    added model.config files

* Add props to the pool world (#100)

* Add texture models (gate and torpedo)

* Change prop locations

* fix IMU, Sonar and Bar30 in simulation (#96)

* revert IMU joint type from `revolute` to `fixed`

- add rotation to fix imu plugin values

* fix sonar plugin topic name

- removed namespace at the start of the topic name since it was causing issues
- also change update rate and range according to sensor specifications

* revert Bar30 joint type from `revolute` to `fixed`

* add imu offset to simulation

* fix drift ros param

* rename topics

- renamed it in the code and remapped it to same place.
- this is just to make it more understandable

---------

Co-authored-by: Ozan Hakan Tunca <t.ozanhakan@gmail.com>

* run pre-commit

* update package isolation

* add update rate across files

* add option to run gazebo headless with use_gui (#116)

* create a seperate control config for simulation (#110)

* create a seperate control config for simulation

* remove remapping from sim bridge

* use config_file param to load rosparams

* add pid params for sim

* add additional light

* fix starting pos

* remove unnecessary light, fix buoy pose

---------

Co-authored-by: Ozan Hakan Tunca <t.ozanhakan@gmail.com>
Co-authored-by: meydanoglu <eminmeydanoglu@gmail.com>
Co-authored-by: Sencer Yazici <senceryazici@gmail.com>
Co-authored-by: Ozan Hakan Tunca <155637446+ozanhakantunca@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants