Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions .docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -243,13 +243,6 @@ export GZ_SIM_SYSTEM_PLUGIN_PATH=\$HOME/ardupilot_gazebo/build:\$GZ_SIM_SYSTEM_P

# Add ardupilot_gazebo models and worlds
export GZ_SIM_RESOURCE_PATH=\$HOME/ardupilot_gazebo/models:\$HOME/ardupilot_gazebo/worlds:\$GZ_SIM_RESOURCE_PATH

# Add blue models and worlds
BLUE_DESCRIPTION=\$USER_WORKSPACE/src/blue/blue_description
export GZ_SIM_RESOURCE_PATH=\$BLUE_DESCRIPTION/gazebo/models:\$BLUE_DESCRIPTION/gazebo/worlds:\$GZ_SIM_RESOURCE_PATH

# Add blue meshes
export GZ_SIM_RESOURCE_PATH=\$BLUE_DESCRIPTION/meshes:\$GZ_SIM_RESOURCE_PATH
EOT

FROM desktop AS desktop-nvidia
Expand Down
1 change: 0 additions & 1 deletion .docker/compose/nouveau-desktop.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
version: "3"
services:
blue:
image: ghcr.io/robotic-decision-making-lab/blue:rolling-desktop
Expand Down
1 change: 0 additions & 1 deletion .docker/compose/nvidia-desktop.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
version: "3"
services:
blue:
image: ghcr.io/robotic-decision-making-lab/blue:rolling-desktop-nvidia
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/docker.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ jobs:

- if: github.event_name == 'push'
name: Build and push (non PR)
uses: docker/bake-action@v5.7.0
uses: docker/bake-action@v5.10.0
env:
BLUE_ROS_DISTRO: ${{ matrix.ROS_DISTRO }}
BLUE_GITHUB_REPO: ${{ steps.lowercase-repo.outputs.repository }}
Expand All @@ -119,7 +119,7 @@ jobs:
# Pull request builds are not cached; and only built for AMD64
- if: github.event_name == 'pull_request'
name: Build and push (PR)
uses: docker/bake-action@v5.7.0
uses: docker/bake-action@v5.10.0
env:
BLUE_ROS_DISTRO: ${{ matrix.ROS_DISTRO }}
BLUE_GITHUB_REPO: ${{ steps.lowercase-repo.outputs.repository }}
Expand Down
4 changes: 2 additions & 2 deletions blue_bringup/launch/bluerov2/bluerov2.launch.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ launch:

- arg:
name: gazebo_world_file
default: $(find-pkg-share blue_description)/gazebo/worlds/$(var model_name)_underwater.world
default: $(find-pkg-share blue_description)/gazebo/worlds/underwater.world

- arg:
name: mavros_file
Expand Down Expand Up @@ -122,4 +122,4 @@ launch:
file: $(find-pkg-share blue_bringup)/launch/$(var model_name)/thrusters.launch.yaml

- include:
file: $(find-pkg-share mobile_to_maritime)/launch/tf.launch.yaml
file: $(find-pkg-share message_transforms)/launch/tf.launch.yaml
4 changes: 2 additions & 2 deletions blue_bringup/launch/bluerov2_heavy/bluerov2_heavy.launch.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ launch:

- arg:
name: gazebo_world_file
default: $(find-pkg-share blue_description)/gazebo/worlds/$(var model_name)_underwater.world
default: $(find-pkg-share blue_description)/gazebo/worlds/underwater.world

- arg:
name: mavros_file
Expand Down Expand Up @@ -122,4 +122,4 @@ launch:
file: $(find-pkg-share blue_bringup)/launch/$(var model_name)/thrusters.launch.yaml

- include:
file: $(find-pkg-share mobile_to_maritime)/launch/tf.launch.yaml
file: $(find-pkg-share message_transforms)/launch/tf.launch.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ launch:

- arg:
name: gazebo_world_file
default: $(find-pkg-share blue_description)/gazebo/worlds/$(var model_name)_underwater.world
default: $(find-pkg-share blue_description)/gazebo/worlds/underwater.world

- arg:
name: mavros_file
Expand Down Expand Up @@ -122,4 +122,4 @@ launch:
file: $(find-pkg-share blue_bringup)/launch/$(var model_name)/thrusters.launch.yaml

- include:
file: $(find-pkg-share mobile_to_maritime)/launch/tf.launch.yaml
file: $(find-pkg-share message_transforms)/launch/tf.launch.yaml
11 changes: 11 additions & 0 deletions blue_demos/control_integration/config/transforms.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/control_integration/message_transforms:
ros__parameters:

incoming_topics:
- /mavros/local_position/velocity_body

transforms:
/mavros/local_position/velocity_body:
outgoing_topic: /integral_sliding_mode_controller/system_state
message_type: geometry_msgs/msg/TwistStamped
frame_id: base_link_fsd
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,14 @@
# THE SOFTWARE.

from launch import LaunchDescription
from launch.actions import DeclareLaunchArgument, RegisterEventHandler
from launch.actions import (
DeclareLaunchArgument,
IncludeLaunchDescription,
RegisterEventHandler,
)
from launch.event_handlers import OnProcessExit
from launch.substitutions import PathJoinSubstitution
from launch.launch_description_sources import PythonLaunchDescriptionSource
from launch.substitutions import PathJoinSubstitution, TextSubstitution
from launch_ros.actions import Node
from launch_ros.substitutions import FindPackageShare

Expand All @@ -48,18 +53,27 @@ def generate_launch_description() -> LaunchDescription:
]

# The ISMC expects state information to be provided in the FSD frame
mobile_to_maritime_velocity_state = Node(
package="mobile_to_maritime",
executable="mobile_twist_stamped_to_maritime_twist",
name="velocity_state_transform",
parameters=[
{
"in_topic": "/mavros/local_position/velocity_body",
"out_topic": "/integral_sliding_mode_controller/system_state",
"qos_reliability": "best_effort",
"qos_durability": "volatile",
}
],
message_transformer = IncludeLaunchDescription(
PythonLaunchDescriptionSource(
PathJoinSubstitution(
[
FindPackageShare("message_transforms"),
"launch",
"message_transforms.launch.py",
]
)
),
launch_arguments={
"parameters_file": PathJoinSubstitution(
[
FindPackageShare("blue_demos"),
"control_integration",
"config",
"transforms.yaml",
]
),
"ns": TextSubstitution(text="control_integration"),
}.items(),
)

controller_manager = Node(
Expand Down Expand Up @@ -151,7 +165,7 @@ def generate_launch_description() -> LaunchDescription:
return LaunchDescription(
[
*args,
mobile_to_maritime_velocity_state,
message_transformer,
controller_manager,
*delay_thruster_spawners,
delay_tam_controller_spawner_after_thruster_controller_spawners,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,14 @@
# THE SOFTWARE.

from launch import LaunchDescription
from launch.actions import DeclareLaunchArgument, RegisterEventHandler
from launch.actions import (
DeclareLaunchArgument,
IncludeLaunchDescription,
RegisterEventHandler,
)
from launch.event_handlers import OnProcessExit
from launch.substitutions import PathJoinSubstitution
from launch.launch_description_sources import PythonLaunchDescriptionSource
from launch.substitutions import PathJoinSubstitution, TextSubstitution
from launch_ros.actions import Node
from launch_ros.substitutions import FindPackageShare

Expand All @@ -47,18 +52,27 @@ def generate_launch_description() -> LaunchDescription:
]

# The ISMC expects state information to be provided in the FSD frame
mobile_to_maritime_velocity_state = Node(
package="mobile_to_maritime",
executable="mobile_twist_stamped_to_maritime_twist",
name="velocity_state_transform",
parameters=[
{
"in_topic": "/mavros/local_position/velocity_body",
"out_topic": "/integral_sliding_mode_controller/system_state",
"qos_reliability": "best_effort",
"qos_durability": "volatile",
}
],
message_transformer = IncludeLaunchDescription(
PythonLaunchDescriptionSource(
PathJoinSubstitution(
[
FindPackageShare("message_transforms"),
"launch",
"message_transforms.launch.py",
]
)
),
launch_arguments={
"parameters_file": PathJoinSubstitution(
[
FindPackageShare("blue_demos"),
"control_integration",
"config",
"transforms.yaml",
]
),
"ns": TextSubstitution(text="control_integration"),
}.items(),
)

controller_manager = Node(
Expand Down Expand Up @@ -150,7 +164,7 @@ def generate_launch_description() -> LaunchDescription:
return LaunchDescription(
[
*args,
mobile_to_maritime_velocity_state,
message_transformer,
controller_manager,
*delay_thruster_spawners,
delay_tam_controller_spawner_after_thruster_controller_spawners,
Expand Down
2 changes: 1 addition & 1 deletion blue_demos/teleoperation/config/joy_teleop.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ joy_teleop:
manual_control:
type: topic
interface_type: geometry_msgs/msg/Twist
topic_name: cmd_vel
topic_name: /cmd_vel
deadman_axes: [2]
axis_mappings:
linear-x:
Expand Down
10 changes: 10 additions & 0 deletions blue_demos/teleoperation/config/transforms.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
message_transforms:
ros__parameters:

incoming_topics:
- /cmd_vel

transforms:
/cmd_vel:
outgoing_topic: /integral_sliding_mode_controller/reference
message_type: geometry_msgs/msg/Twist
18 changes: 7 additions & 11 deletions blue_demos/teleoperation/launch/joy_teleop.launch.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ launch:
default: $(find-pkg-share blue_demos)/teleoperation/config/joy_teleop.yaml

- arg:
name: use_maritime
default: "true"
name: transforms_file
default: $(find-pkg-share blue_demos)/teleoperation/config/transforms.yaml

- node:
pkg: joy_linux
Expand All @@ -22,12 +22,8 @@ launch:
param:
- from: $(var joy_file)

- node:
pkg: mobile_to_maritime
exec: mobile_twist_to_maritime_twist
param:
- name: in_topic
value: cmd_vel
- name: out_topic
value: /integral_sliding_mode_controller/reference
if: $(var use_maritime)
- include:
file: $(find-pkg-share message_transforms)/launch/message_transforms.launch.py
arg:
- name: parameters_file
value: $(var transforms_file)
2 changes: 2 additions & 0 deletions blue_description/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,6 @@ install(
DESTINATION share/blue_description
)

ament_environment_hooks("${CMAKE_CURRENT_SOURCE_DIR}/hooks/hooks.dsv.in")

ament_package()
47 changes: 0 additions & 47 deletions blue_description/gazebo/worlds/bluerov2_heavy_underwater.world

This file was deleted.

47 changes: 0 additions & 47 deletions blue_description/gazebo/worlds/bluerov2_underwater.world

This file was deleted.

Loading
Loading