Parcourir la source

Move sensors from ROS2 Gem into new ROS2Sensors (#847)

Signed-off-by: Jan Hanca <[email protected]>
Jan Hanca il y a 3 mois
Parent
commit
3144a50e1c
100 fichiers modifiés avec 978 ajouts et 341 suppressions
  1. 0 1
      Gems/ROS2/Code/CMakeLists.txt
  2. 0 20
      Gems/ROS2/Code/Include/ROS2/ROS2SensorTypesIds.h
  3. 1 2
      Gems/ROS2/Code/Include/ROS2/Sensor/Events/EventSourceAdapter.h
  4. 0 42
      Gems/ROS2/Code/Source/Camera/ROS2CameraSystemComponent.h
  5. 5 9
      Gems/ROS2/Code/Source/ROS2EditorModule.cpp
  6. 0 29
      Gems/ROS2/Code/Source/ROS2ModuleInterface.h
  7. 9 8
      Gems/ROS2/Code/Source/RobotImporter/ROS2RobotImporterEditorSystemComponent.cpp
  8. 10 8
      Gems/ROS2/Code/Source/RobotImporter/SDFormat/ROS2ModelPluginHooks.h
  9. 9 8
      Gems/ROS2/Code/Source/RobotImporter/SDFormat/ROS2SDFormatHooksUtils.cpp
  10. 9 6
      Gems/ROS2/Code/Source/RobotImporter/SDFormat/ROS2SDFormatHooksUtils.h
  11. 10 8
      Gems/ROS2/Code/Source/RobotImporter/SDFormat/ROS2SensorHooks.h
  12. 2 3
      Gems/ROS2/Code/Source/Sensor/Events/PhysicsBasedSource.cpp
  13. 9 10
      Gems/ROS2/Code/Source/Sensor/Events/TickBasedSource.cpp
  14. 11 12
      Gems/ROS2/Code/Source/SystemComponents/ROS2SystemComponent.cpp
  15. 0 1
      Gems/ROS2/Code/Source/SystemComponents/ROS2SystemComponent.h
  16. 70 66
      Gems/ROS2/Code/Tests/SdfParserTest.cpp
  17. 9 14
      Gems/ROS2/Code/ros2_editor_files.cmake
  18. 1 59
      Gems/ROS2/Code/ros2_files.cmake
  19. 0 15
      Gems/ROS2/Code/ros2_header_files.cmake
  20. 61 0
      Gems/ROS2Sensors/.clang-format
  21. 0 0
      Gems/ROS2Sensors/.gitignore
  22. 0 0
      Gems/ROS2Sensors/Assets/Editor/Icons/Components/ROS2CameraSensor.svg
  23. 0 0
      Gems/ROS2Sensors/Assets/Editor/Icons/Components/ROS2ContactSensor.svg
  24. 0 0
      Gems/ROS2Sensors/Assets/Editor/Icons/Components/ROS2GNSSSensor.svg
  25. 0 0
      Gems/ROS2Sensors/Assets/Editor/Icons/Components/ROS2ImuSensor.svg
  26. 0 0
      Gems/ROS2Sensors/Assets/Editor/Icons/Components/ROS2Lidar2DSensor.svg
  27. 0 0
      Gems/ROS2Sensors/Assets/Editor/Icons/Components/ROS2LidarSensor.svg
  28. 0 0
      Gems/ROS2Sensors/Assets/Editor/Icons/Components/ROS2OdometrySensor.svg
  29. 0 0
      Gems/ROS2Sensors/Assets/Editor/Icons/Components/ROS2WheelOdometrySensor.svg
  30. 0 0
      Gems/ROS2Sensors/Assets/Editor/Icons/Components/Viewport/ROS2CameraSensor.svg
  31. 0 0
      Gems/ROS2Sensors/Assets/Editor/Icons/Components/Viewport/ROS2ContactSensor.svg
  32. 0 0
      Gems/ROS2Sensors/Assets/Editor/Icons/Components/Viewport/ROS2GNSSSensor.svg
  33. 0 0
      Gems/ROS2Sensors/Assets/Editor/Icons/Components/Viewport/ROS2ImuSensor.svg
  34. 0 0
      Gems/ROS2Sensors/Assets/Editor/Icons/Components/Viewport/ROS2Lidar2DSensor.svg
  35. 0 0
      Gems/ROS2Sensors/Assets/Editor/Icons/Components/Viewport/ROS2LidarSensor.svg
  36. 0 0
      Gems/ROS2Sensors/Assets/Editor/Icons/Components/Viewport/ROS2OdometrySensor.svg
  37. 0 0
      Gems/ROS2Sensors/Assets/Editor/Icons/Components/Viewport/ROS2WheelOdometrySensor.svg
  38. 13 0
      Gems/ROS2Sensors/CMakeLists.txt
  39. 277 0
      Gems/ROS2Sensors/Code/CMakeLists.txt
  40. 0 0
      Gems/ROS2Sensors/Code/Include/ROS2Sensors/Camera/CameraCalibrationRequestBus.h
  41. 0 0
      Gems/ROS2Sensors/Code/Include/ROS2Sensors/Camera/CameraPostProcessingRequestBus.h
  42. 0 0
      Gems/ROS2Sensors/Code/Include/ROS2Sensors/GNSS/GNSSPostProcessingRequestBus.h
  43. 1 1
      Gems/ROS2Sensors/Code/Include/ROS2Sensors/Lidar/ClassSegmentationBus.h
  44. 1 1
      Gems/ROS2Sensors/Code/Include/ROS2Sensors/Lidar/LidarRaycasterBus.h
  45. 0 0
      Gems/ROS2Sensors/Code/Include/ROS2Sensors/Lidar/LidarRegistrarBus.h
  46. 1 1
      Gems/ROS2Sensors/Code/Include/ROS2Sensors/Lidar/LidarSystemBus.h
  47. 0 0
      Gems/ROS2Sensors/Code/Include/ROS2Sensors/Lidar/RaycastResults.h
  48. 0 0
      Gems/ROS2Sensors/Code/Include/ROS2Sensors/Lidar/SegmentationClassConfiguration.h
  49. 0 0
      Gems/ROS2Sensors/Code/Include/ROS2Sensors/Lidar/SegmentationUtils.h
  50. 44 0
      Gems/ROS2Sensors/Code/Include/ROS2Sensors/ROS2SensorsTypeIds.h
  51. 3 3
      Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h
  52. 0 0
      Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/SensorConfiguration.h
  53. 1 1
      Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/SensorConfigurationRequestBus.h
  54. 0 0
      Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/SensorHelper.h
  55. 11 0
      Gems/ROS2Sensors/Code/Platform/Android/PAL_android.cmake
  56. 10 0
      Gems/ROS2Sensors/Code/Platform/Android/ros2sensors_api_files.cmake
  57. 15 0
      Gems/ROS2Sensors/Code/Platform/Android/ros2sensors_private_files.cmake
  58. 15 0
      Gems/ROS2Sensors/Code/Platform/Android/ros2sensors_shared_files.cmake
  59. 11 0
      Gems/ROS2Sensors/Code/Platform/Linux/PAL_linux.cmake
  60. 10 0
      Gems/ROS2Sensors/Code/Platform/Linux/ros2sensors_api_files.cmake
  61. 10 0
      Gems/ROS2Sensors/Code/Platform/Linux/ros2sensors_editor_api_files.cmake
  62. 15 0
      Gems/ROS2Sensors/Code/Platform/Linux/ros2sensors_private_files.cmake
  63. 15 0
      Gems/ROS2Sensors/Code/Platform/Linux/ros2sensors_shared_files.cmake
  64. 11 0
      Gems/ROS2Sensors/Code/Platform/Mac/PAL_mac.cmake
  65. 10 0
      Gems/ROS2Sensors/Code/Platform/Mac/ros2sensors_api_files.cmake
  66. 10 0
      Gems/ROS2Sensors/Code/Platform/Mac/ros2sensors_editor_api_files.cmake
  67. 15 0
      Gems/ROS2Sensors/Code/Platform/Mac/ros2sensors_private_files.cmake
  68. 15 0
      Gems/ROS2Sensors/Code/Platform/Mac/ros2sensors_shared_files.cmake
  69. 11 0
      Gems/ROS2Sensors/Code/Platform/Windows/PAL_windows.cmake
  70. 10 0
      Gems/ROS2Sensors/Code/Platform/Windows/ros2sensors_api_files.cmake
  71. 10 0
      Gems/ROS2Sensors/Code/Platform/Windows/ros2sensors_editor_api_files.cmake
  72. 15 0
      Gems/ROS2Sensors/Code/Platform/Windows/ros2sensors_private_files.cmake
  73. 15 0
      Gems/ROS2Sensors/Code/Platform/Windows/ros2sensors_shared_files.cmake
  74. 11 0
      Gems/ROS2Sensors/Code/Platform/iOS/PAL_ios.cmake
  75. 11 0
      Gems/ROS2Sensors/Code/Platform/iOS/ros2sensors_api_files.cmake
  76. 15 0
      Gems/ROS2Sensors/Code/Platform/iOS/ros2sensors_private_files.cmake
  77. 15 0
      Gems/ROS2Sensors/Code/Platform/iOS/ros2sensors_shared_files.cmake
  78. 0 0
      Gems/ROS2Sensors/Code/Source/Camera/CameraConstants.h
  79. 1 1
      Gems/ROS2Sensors/Code/Source/Camera/CameraPublishers.cpp
  80. 0 0
      Gems/ROS2Sensors/Code/Source/Camera/CameraPublishers.h
  81. 1 1
      Gems/ROS2Sensors/Code/Source/Camera/CameraSensor.cpp
  82. 0 0
      Gems/ROS2Sensors/Code/Source/Camera/CameraSensor.h
  83. 0 0
      Gems/ROS2Sensors/Code/Source/Camera/CameraSensorConfiguration.cpp
  84. 0 0
      Gems/ROS2Sensors/Code/Source/Camera/CameraSensorConfiguration.h
  85. 0 0
      Gems/ROS2Sensors/Code/Source/Camera/CameraSensorDescription.cpp
  86. 1 1
      Gems/ROS2Sensors/Code/Source/Camera/CameraSensorDescription.h
  87. 0 0
      Gems/ROS2Sensors/Code/Source/Camera/CameraUtilities.cpp
  88. 0 0
      Gems/ROS2Sensors/Code/Source/Camera/CameraUtilities.h
  89. 0 0
      Gems/ROS2Sensors/Code/Source/Camera/PostProcessing/ROS2ImageEncodingConversionComponent.cpp
  90. 4 3
      Gems/ROS2Sensors/Code/Source/Camera/PostProcessing/ROS2ImageEncodingConversionComponent.h
  91. 0 0
      Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.cpp
  92. 4 4
      Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.h
  93. 0 0
      Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorEditorComponent.cpp
  94. 2 2
      Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorEditorComponent.h
  95. 0 0
      Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSystemComponent.cpp
  96. 42 0
      Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSystemComponent.h
  97. 0 0
      Gems/ROS2Sensors/Code/Source/Camera/ROS2EditorCameraSystemComponent.cpp
  98. 2 1
      Gems/ROS2Sensors/Code/Source/Camera/ROS2EditorCameraSystemComponent.h
  99. 27 0
      Gems/ROS2Sensors/Code/Source/Clients/ROS2SensorsModule.cpp
  100. 51 0
      Gems/ROS2Sensors/Code/Source/Clients/ROS2SensorsSystemComponent.cpp

+ 0 - 1
Gems/ROS2/Code/CMakeLists.txt

@@ -3,7 +3,6 @@
 #
 #
 # SPDX-License-Identifier: Apache-2.0 OR MIT
 # SPDX-License-Identifier: Apache-2.0 OR MIT
 
 
-
 # Only allow this gem to be configured on platforms that are currently supported
 # Only allow this gem to be configured on platforms that are currently supported
 include(${CMAKE_CURRENT_SOURCE_DIR}/Platform/${PAL_PLATFORM_NAME}/PAL_${PAL_PLATFORM_NAME_LOWERCASE}.cmake)
 include(${CMAKE_CURRENT_SOURCE_DIR}/Platform/${PAL_PLATFORM_NAME}/PAL_${PAL_PLATFORM_NAME_LOWERCASE}.cmake)
 if(NOT PAL_TRAIT_BUILD_ROS2_GEM_SUPPORTED)
 if(NOT PAL_TRAIT_BUILD_ROS2_GEM_SUPPORTED)

+ 0 - 20
Gems/ROS2/Code/Include/ROS2/ROS2SensorTypesIds.h

@@ -1,20 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-#pragma once
-
-namespace ROS2
-{
-    inline constexpr const char* ROS2CameraSensorComponentTypeId = "{3C6B8AE6-9721-4639-B8F9-D8D28FD7A071}";
-    inline constexpr const char* ROS2ContactSensorComponentTypeId = "{91272e66-c9f1-4aa2-a9d5-98eaa4ef4e9a}";
-    inline constexpr const char* ROS2GNSSSensorComponentTypeId = "{55B4A299-7FA3-496A-88F0-764C75B0E9A7}";
-    inline constexpr const char* ROS2ImuSensorComponentTypeId = "{502A955E-7742-4E23-AD77-5E4063739DCA}";
-    inline constexpr const char* ROS2LidarSensorComponentTypeId = "{502A955F-7742-4E23-AD77-5E4063739DCA}";
-    inline constexpr const char* ROS2Lidar2DSensorComponentTypeId = "{F4C2D970-1D69-40F2-9D4D-B52DCFDD2704}";
-    inline constexpr const char* ROS2WheelOdometryComponentTypeId = "{9bdb8c23-ac76-4c25-8d35-37aaa9f43fac}";
-    inline constexpr const char* ROS2OdometrySensorComponent = "{61387448-63AA-4563-AF87-60C72B05B863}";
-} // namespace ROS2

+ 1 - 2
Gems/ROS2/Code/Include/ROS2/Sensor/Events/EventSourceAdapter.h

@@ -11,7 +11,6 @@
 #include <AzCore/Serialization/EditContext.h>
 #include <AzCore/Serialization/EditContext.h>
 #include <ROS2/ROS2Bus.h>
 #include <ROS2/ROS2Bus.h>
 #include <ROS2/Sensor/Events/SensorEventSource.h>
 #include <ROS2/Sensor/Events/SensorEventSource.h>
-#include <ROS2/Sensor/SensorConfiguration.h>
 
 
 namespace ROS2
 namespace ROS2
 {
 {
@@ -107,7 +106,7 @@ namespace ROS2
                         return;
                         return;
                     }
                     }
 
 
-                    m_lastDeltaTime =  m_adaptedDeltaTime;
+                    m_lastDeltaTime = m_adaptedDeltaTime;
                     m_sensorAdaptedEvent.Signal(m_adaptedDeltaTime, AZStd::forward<decltype(args)>(args)...);
                     m_sensorAdaptedEvent.Signal(m_adaptedDeltaTime, AZStd::forward<decltype(args)>(args)...);
                     m_adaptedDeltaTime = 0.0f;
                     m_adaptedDeltaTime = 0.0f;
                 });
                 });

+ 0 - 42
Gems/ROS2/Code/Source/Camera/ROS2CameraSystemComponent.h

@@ -1,42 +0,0 @@
-/*
-* Copyright (c) Contributors to the Open 3D Engine Project.
-* For complete copyright and license terms please see the LICENSE at the root of this distribution.
-*
-* SPDX-License-Identifier: Apache-2.0 OR MIT
-*
-*/
-#pragma once
-
-#include <Atom/RPI.Public/Pass/PassSystemInterface.h>
-#include <AzCore/Component/Component.h>
-
-namespace ROS2
-{
-    //! System Component for Camera simulation in ROS 2.
-   class ROS2SystemCameraComponent
-       : public AZ::Component
-   {
-   public:
-       AZ_COMPONENT(ROS2SystemCameraComponent, "{b4665d39-78fd-40de-8518-2f6bd345a831}");
-
-       static void Reflect(AZ::ReflectContext* context);
-
-       static void GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided);
-       static void GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& incompatible);
-       static void GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required);
-
-       void InitPassTemplateMappingsHandler();
-
-   protected:
-       ////////////////////////////////////////////////////////////////////////
-       // AZ::Component override
-       void Activate() override;
-       void Deactivate() override;
-       ////////////////////////////////////////////////////////////////////////
-
-   private:
-       //! Load the pass templates of the ROS 2 Camera.
-       void LoadPassTemplateMappings();
-       AZ::RPI::PassSystemInterface::OnReadyLoadTemplatesEvent::Handler m_loadTemplatesHandler;
-   };
-} // namespace ROS2

+ 5 - 9
Gems/ROS2/Code/Source/ROS2EditorModule.cpp

@@ -5,11 +5,9 @@
  * SPDX-License-Identifier: Apache-2.0 OR MIT
  * SPDX-License-Identifier: Apache-2.0 OR MIT
  *
  *
  */
  */
+
 #include <AzCore/RTTI/RTTIMacros.h>
 #include <AzCore/RTTI/RTTIMacros.h>
-#include <Camera/ROS2CameraSensorEditorComponent.h>
-#include <Camera/ROS2EditorCameraSystemComponent.h>
 #include <Frame/ROS2FrameSystemComponent.h>
 #include <Frame/ROS2FrameSystemComponent.h>
-#include <Lidar/LidarRegistrarEditorSystemComponent.h>
 #include <Manipulation/JointsManipulationEditorComponent.h>
 #include <Manipulation/JointsManipulationEditorComponent.h>
 #include <Manipulation/JointsPositionsEditorComponent.h>
 #include <Manipulation/JointsPositionsEditorComponent.h>
 #include <QtCore/qglobal.h>
 #include <QtCore/qglobal.h>
@@ -42,10 +40,7 @@ namespace ROS2
             m_descriptors.insert(
             m_descriptors.insert(
                 m_descriptors.end(),
                 m_descriptors.end(),
                 { ROS2EditorSystemComponent::CreateDescriptor(),
                 { ROS2EditorSystemComponent::CreateDescriptor(),
-                  ROS2EditorCameraSystemComponent::CreateDescriptor(),
-                  LidarRegistrarEditorSystemComponent::CreateDescriptor(),
                   ROS2RobotImporterEditorSystemComponent::CreateDescriptor(),
                   ROS2RobotImporterEditorSystemComponent::CreateDescriptor(),
-                  ROS2CameraSensorEditorComponent::CreateDescriptor(),
                   ROS2SpawnerEditorComponent::CreateDescriptor(),
                   ROS2SpawnerEditorComponent::CreateDescriptor(),
                   ROS2SpawnPointEditorComponent::CreateDescriptor(),
                   ROS2SpawnPointEditorComponent::CreateDescriptor(),
                   SdfAssetBuilderSystemComponent::CreateDescriptor(),
                   SdfAssetBuilderSystemComponent::CreateDescriptor(),
@@ -58,9 +53,10 @@ namespace ROS2
         AZ::ComponentTypeList GetRequiredSystemComponents() const override
         AZ::ComponentTypeList GetRequiredSystemComponents() const override
         {
         {
             return AZ::ComponentTypeList{
             return AZ::ComponentTypeList{
-                azrtti_typeid<ROS2EditorSystemComponent>(),           azrtti_typeid<ROS2EditorCameraSystemComponent>(),
-                azrtti_typeid<LidarRegistrarEditorSystemComponent>(), azrtti_typeid<ROS2RobotImporterEditorSystemComponent>(),
-                azrtti_typeid<SdfAssetBuilderSystemComponent>(),      azrtti_typeid<ROS2FrameSystemComponent>(),
+                azrtti_typeid<ROS2EditorSystemComponent>(),
+                azrtti_typeid<ROS2RobotImporterEditorSystemComponent>(),
+                azrtti_typeid<SdfAssetBuilderSystemComponent>(),
+                azrtti_typeid<ROS2FrameSystemComponent>(),
             };
             };
         }
         }
     };
     };

+ 0 - 29
Gems/ROS2/Code/Source/ROS2ModuleInterface.h

@@ -9,26 +9,14 @@
 
 
 #include <AzCore/Memory/SystemAllocator.h>
 #include <AzCore/Memory/SystemAllocator.h>
 #include <AzCore/Module/Module.h>
 #include <AzCore/Module/Module.h>
-#include <Camera/PostProcessing/ROS2ImageEncodingConversionComponent.h>
-#include <Camera/ROS2CameraSensorComponent.h>
-#include <Camera/ROS2CameraSystemComponent.h>
-#include <ContactSensor/ROS2ContactSensorComponent.h>
-#include <GNSS/ROS2GNSSSensorComponent.h>
 #include <Gripper/FingerGripperComponent.h>
 #include <Gripper/FingerGripperComponent.h>
 #include <Gripper/GripperActionServerComponent.h>
 #include <Gripper/GripperActionServerComponent.h>
 #include <Gripper/VacuumGripperComponent.h>
 #include <Gripper/VacuumGripperComponent.h>
-#include <Imu/ROS2ImuSensorComponent.h>
-#include <Lidar/ClassSegmentationConfigurationComponent.h>
-#include <Lidar/LidarRegistrarSystemComponent.h>
-#include <Lidar/ROS2Lidar2DSensorComponent.h>
-#include <Lidar/ROS2LidarSensorComponent.h>
 #include <Manipulation/Controllers/JointsArticulationControllerComponent.h>
 #include <Manipulation/Controllers/JointsArticulationControllerComponent.h>
 #include <Manipulation/Controllers/JointsPIDControllerComponent.h>
 #include <Manipulation/Controllers/JointsPIDControllerComponent.h>
 #include <Manipulation/JointsManipulationComponent.h>
 #include <Manipulation/JointsManipulationComponent.h>
 #include <Manipulation/JointsPositionsComponent.h>
 #include <Manipulation/JointsPositionsComponent.h>
 #include <Manipulation/JointsTrajectoryComponent.h>
 #include <Manipulation/JointsTrajectoryComponent.h>
-#include <Odometry/ROS2OdometrySensorComponent.h>
-#include <Odometry/ROS2WheelOdometry.h>
 #include <ROS2/Frame/ROS2FrameComponent.h>
 #include <ROS2/Frame/ROS2FrameComponent.h>
 #include <ROS2/Manipulation/MotorizedJoints/JointMotorControllerComponent.h>
 #include <ROS2/Manipulation/MotorizedJoints/JointMotorControllerComponent.h>
 #include <ROS2/Manipulation/MotorizedJoints/ManualMotorControllerComponent.h>
 #include <ROS2/Manipulation/MotorizedJoints/ManualMotorControllerComponent.h>
@@ -61,25 +49,12 @@ namespace ROS2
                 m_descriptors.end(),
                 m_descriptors.end(),
                 {
                 {
                     ROS2SystemComponent::CreateDescriptor(),
                     ROS2SystemComponent::CreateDescriptor(),
-                    ROS2SystemCameraComponent::CreateDescriptor(),
-                    ROS2SensorComponentBase<TickBasedSource>::CreateDescriptor(),
-                    ROS2SensorComponentBase<PhysicsBasedSource>::CreateDescriptor(),
-                    LidarRegistrarSystemComponent::CreateDescriptor(),
                     ROS2RobotImporterSystemComponent::CreateDescriptor(),
                     ROS2RobotImporterSystemComponent::CreateDescriptor(),
-                    ROS2ImuSensorComponent::CreateDescriptor(),
-                    ROS2GNSSSensorComponent::CreateDescriptor(),
-                    ROS2LidarSensorComponent::CreateDescriptor(),
-                    ROS2Lidar2DSensorComponent::CreateDescriptor(),
-                    ROS2OdometrySensorComponent::CreateDescriptor(),
-                    ROS2WheelOdometryComponent::CreateDescriptor(),
                     ROS2FrameComponent::CreateDescriptor(),
                     ROS2FrameComponent::CreateDescriptor(),
                     ROS2RobotControlComponent::CreateDescriptor(),
                     ROS2RobotControlComponent::CreateDescriptor(),
-                    ROS2CameraSensorComponent::CreateDescriptor(),
-                    ROS2ImageEncodingConversionComponent::CreateDescriptor(),
                     AckermannControlComponent::CreateDescriptor(),
                     AckermannControlComponent::CreateDescriptor(),
                     RigidBodyTwistControlComponent::CreateDescriptor(),
                     RigidBodyTwistControlComponent::CreateDescriptor(),
                     SkidSteeringControlComponent::CreateDescriptor(),
                     SkidSteeringControlComponent::CreateDescriptor(),
-                    ROS2CameraSensorComponent::CreateDescriptor(),
                     ROS2SpawnerComponent::CreateDescriptor(),
                     ROS2SpawnerComponent::CreateDescriptor(),
                     ROS2SpawnPointComponent::CreateDescriptor(),
                     ROS2SpawnPointComponent::CreateDescriptor(),
                     VehicleDynamics::AckermannVehicleModelComponent::CreateDescriptor(),
                     VehicleDynamics::AckermannVehicleModelComponent::CreateDescriptor(),
@@ -96,9 +71,7 @@ namespace ROS2
                     GripperActionServerComponent::CreateDescriptor(),
                     GripperActionServerComponent::CreateDescriptor(),
                     VacuumGripperComponent::CreateDescriptor(),
                     VacuumGripperComponent::CreateDescriptor(),
                     FingerGripperComponent::CreateDescriptor(),
                     FingerGripperComponent::CreateDescriptor(),
-                    ROS2ContactSensorComponent::CreateDescriptor(),
                     FollowingCameraComponent::CreateDescriptor(),
                     FollowingCameraComponent::CreateDescriptor(),
-                    ClassSegmentationConfigurationComponent::CreateDescriptor(),
                 });
                 });
         }
         }
 
 
@@ -106,8 +79,6 @@ namespace ROS2
         {
         {
             return AZ::ComponentTypeList{
             return AZ::ComponentTypeList{
                 azrtti_typeid<ROS2SystemComponent>(),
                 azrtti_typeid<ROS2SystemComponent>(),
-                azrtti_typeid<ROS2SystemCameraComponent>(),
-                azrtti_typeid<LidarRegistrarSystemComponent>(),
                 azrtti_typeid<ROS2RobotImporterSystemComponent>(),
                 azrtti_typeid<ROS2RobotImporterSystemComponent>(),
             };
             };
         }
         }

+ 9 - 8
Gems/ROS2/Code/Source/RobotImporter/ROS2RobotImporterEditorSystemComponent.cpp

@@ -67,14 +67,15 @@ namespace ROS2
         RobotImporterRequestBus::Handler::BusConnect();
         RobotImporterRequestBus::Handler::BusConnect();
 
 
         // Register default sensor and plugin hooks
         // Register default sensor and plugin hooks
-        m_sensorHooks.emplace_back(SDFormat::ROS2SensorHooks::ROS2CameraSensor());
-        m_sensorHooks.emplace_back(SDFormat::ROS2SensorHooks::ROS2GNSSSensor());
-        m_sensorHooks.emplace_back(SDFormat::ROS2SensorHooks::ROS2ImuSensor());
-        m_sensorHooks.emplace_back(SDFormat::ROS2SensorHooks::ROS2LidarSensor());
-        m_modelPluginHooks.emplace_back(SDFormat::ROS2ModelPluginHooks::ROS2AckermannModel());
-        m_modelPluginHooks.emplace_back(SDFormat::ROS2ModelPluginHooks::ROS2SkidSteeringModel());
-        m_modelPluginHooks.emplace_back(SDFormat::ROS2ModelPluginHooks::ROS2JointStatePublisherModel());
-        m_modelPluginHooks.emplace_back(SDFormat::ROS2ModelPluginHooks::ROS2JointPoseTrajectoryModel());
+        // temporarily disable import hooks for sensors and models for https://github.com/o3de/sig-simulation/pull/96
+        // m_sensorHooks.emplace_back(SDFormat::ROS2SensorHooks::ROS2CameraSensor());
+        // m_sensorHooks.emplace_back(SDFormat::ROS2SensorHooks::ROS2GNSSSensor());
+        // m_sensorHooks.emplace_back(SDFormat::ROS2SensorHooks::ROS2ImuSensor());
+        // m_sensorHooks.emplace_back(SDFormat::ROS2SensorHooks::ROS2LidarSensor());
+        // m_modelPluginHooks.emplace_back(SDFormat::ROS2ModelPluginHooks::ROS2AckermannModel());
+        // m_modelPluginHooks.emplace_back(SDFormat::ROS2ModelPluginHooks::ROS2SkidSteeringModel());
+        // m_modelPluginHooks.emplace_back(SDFormat::ROS2ModelPluginHooks::ROS2JointStatePublisherModel());
+        // m_modelPluginHooks.emplace_back(SDFormat::ROS2ModelPluginHooks::ROS2JointPoseTrajectoryModel());
 
 
         // Query user-defined sensor and plugin hooks
         // Query user-defined sensor and plugin hooks
         auto serializeContext = AZ::Interface<AZ::ComponentApplicationRequests>::Get()->GetSerializeContext();
         auto serializeContext = AZ::Interface<AZ::ComponentApplicationRequests>::Get()->GetSerializeContext();

+ 10 - 8
Gems/ROS2/Code/Source/RobotImporter/SDFormat/ROS2ModelPluginHooks.h

@@ -12,16 +12,18 @@
 
 
 namespace ROS2::SDFormat::ROS2ModelPluginHooks
 namespace ROS2::SDFormat::ROS2ModelPluginHooks
 {
 {
-    //! Get a mapping of SDFormat skid_steer_drive and diff_drive plugins into O3DE components.
-    ModelPluginImporterHook ROS2SkidSteeringModel();
+    // temporarily disable import hooks for sensors and models for https://github.com/o3de/sig-simulation/pull/96
 
 
-    //! Get a mapping of SDFormat ackermann_drive plugin into O3DE components.
-    ModelPluginImporterHook ROS2AckermannModel();
+    // //! Get a mapping of SDFormat skid_steer_drive and diff_drive plugins into O3DE components.
+    // ModelPluginImporterHook ROS2SkidSteeringModel();
 
 
-    //! Get a mapping of SDFormat joint_state_publisher plugin into O3DE components.
-    ModelPluginImporterHook ROS2JointStatePublisherModel();
+    // //! Get a mapping of SDFormat ackermann_drive plugin into O3DE components.
+    // ModelPluginImporterHook ROS2AckermannModel();
 
 
-     //! Get a mapping of SDFormat joint_pose_trajectory plugin into O3DE components.
-    ModelPluginImporterHook ROS2JointPoseTrajectoryModel();
+    // //! Get a mapping of SDFormat joint_state_publisher plugin into O3DE components.
+    // ModelPluginImporterHook ROS2JointStatePublisherModel();
+
+    //  //! Get a mapping of SDFormat joint_pose_trajectory plugin into O3DE components.
+    // ModelPluginImporterHook ROS2JointPoseTrajectoryModel();
 
 
 } // namespace ROS2::SDFormat::ROS2ModelPluginHooks
 } // namespace ROS2::SDFormat::ROS2ModelPluginHooks

+ 9 - 8
Gems/ROS2/Code/Source/RobotImporter/SDFormat/ROS2SDFormatHooksUtils.cpp

@@ -21,14 +21,15 @@
 
 
 namespace ROS2::SDFormat
 namespace ROS2::SDFormat
 {
 {
-    void HooksUtils::AddTopicConfiguration(
-        SensorConfiguration& sensorConfig, const AZStd::string& topic, const AZStd::string& messageType, const AZStd::string& configName)
-    {
-        TopicConfiguration config;
-        config.m_topic = topic;
-        config.m_type = messageType;
-        sensorConfig.m_publishersConfigurations.insert(AZStd::make_pair(configName, config));
-    }
+    // temporarily disable import hooks for sensors and models for https://github.com/o3de/sig-simulation/pull/96
+    // void HooksUtils::AddTopicConfiguration(
+    //     SensorConfiguration& sensorConfig, const AZStd::string& topic, const AZStd::string& messageType, const AZStd::string& configName)
+    // {
+    //     TopicConfiguration config;
+    //     config.m_topic = topic;
+    //     config.m_type = messageType;
+    //     sensorConfig.m_publishersConfigurations.insert(AZStd::make_pair(configName, config));
+    // }
 
 
     AZ::EntityId HooksUtils::GetJointEntityId(
     AZ::EntityId HooksUtils::GetJointEntityId(
         const std::string& jointName, const sdf::Model& sdfModel, const CreatedEntitiesMap& createdEntities)
         const std::string& jointName, const sdf::Model& sdfModel, const CreatedEntitiesMap& createdEntities)

+ 9 - 6
Gems/ROS2/Code/Source/RobotImporter/SDFormat/ROS2SDFormatHooksUtils.h

@@ -17,7 +17,8 @@
 #include <AzToolsFramework/ToolsComponents/GenericComponentWrapper.h>
 #include <AzToolsFramework/ToolsComponents/GenericComponentWrapper.h>
 #include <ROS2/Frame/ROS2FrameEditorComponent.h>
 #include <ROS2/Frame/ROS2FrameEditorComponent.h>
 #include <ROS2/RobotImporter/SDFormatModelPluginImporterHook.h>
 #include <ROS2/RobotImporter/SDFormatModelPluginImporterHook.h>
-#include <ROS2/Sensor/SensorConfiguration.h>
+// temporarily disable import hooks for sensors and models for https://github.com/o3de/sig-simulation/pull/96
+// #include <ROS2/Sensor/SensorConfiguration.h>
 #include <Source/EditorArticulationLinkComponent.h>
 #include <Source/EditorArticulationLinkComponent.h>
 #include <Source/EditorHingeJointComponent.h>
 #include <Source/EditorHingeJointComponent.h>
 
 
@@ -33,11 +34,13 @@ namespace ROS2::SDFormat
         //! @param topic ROS 2 topic name
         //! @param topic ROS 2 topic name
         //! @param messageType ROS 2 message type
         //! @param messageType ROS 2 message type
         //! @param configName name under which topic configuration is stored in sensor's configuration
         //! @param configName name under which topic configuration is stored in sensor's configuration
-        void AddTopicConfiguration(
-            SensorConfiguration& sensorConfig,
-            const AZStd::string& topic,
-            const AZStd::string& messageType,
-            const AZStd::string& configName);
+
+        // temporarily disable import hooks for sensors and models for https://github.com/o3de/sig-simulation/pull/96
+        // void AddTopicConfiguration(
+        //     SensorConfiguration& sensorConfig,
+        //     const AZStd::string& topic,
+        //     const AZStd::string& messageType,
+        //     const AZStd::string& configName);
 
 
         //! Find O3DE entity id of the SDFormat joint based on its name and a map of all created entities.
         //! Find O3DE entity id of the SDFormat joint based on its name and a map of all created entities.
         //! @param jointName name of the joint in query
         //! @param jointName name of the joint in query

+ 10 - 8
Gems/ROS2/Code/Source/RobotImporter/SDFormat/ROS2SensorHooks.h

@@ -14,17 +14,19 @@ namespace ROS2::SDFormat
 {
 {
     namespace ROS2SensorHooks
     namespace ROS2SensorHooks
     {
     {
+        // temporarily disable import hooks for sensors and models for https://github.com/o3de/sig-simulation/pull/96
+
         //! Retrieve a sensor importer hook which is used to map SDFormat sensor of type camera, depth or rgbd into O3DE
         //! Retrieve a sensor importer hook which is used to map SDFormat sensor of type camera, depth or rgbd into O3DE
-        //! ROS2CameraSensorComponent
-        SensorImporterHook ROS2CameraSensor();
+        // //! ROS2CameraSensorComponent
+        // SensorImporterHook ROS2CameraSensor();
 
 
-        //! Retrieve a sensor importer hook which is used to map SDFormat sensor of type navsat into O3DE ROS2GNSSSensorComponent
-        SensorImporterHook ROS2GNSSSensor();
+        // //! Retrieve a sensor importer hook which is used to map SDFormat sensor of type navsat into O3DE ROS2GNSSSensorComponent
+        // SensorImporterHook ROS2GNSSSensor();
 
 
-        //! Retrieve a sensor importer hook which is used to map SDFormat sensor of type imu into O3DE ROS2ImuSensorComponent
-        SensorImporterHook ROS2ImuSensor();
+        // //! Retrieve a sensor importer hook which is used to map SDFormat sensor of type imu into O3DE ROS2ImuSensorComponent
+        // SensorImporterHook ROS2ImuSensor();
 
 
-        //! Retrieve a sensor importer hook which is used to map SDFormat sensor of type lidar into O3DE ROS2LidarSensorComponent
-        SensorImporterHook ROS2LidarSensor();
+        // //! Retrieve a sensor importer hook which is used to map SDFormat sensor of type lidar into O3DE ROS2LidarSensorComponent
+        // SensorImporterHook ROS2LidarSensor();
     } // namespace ROS2SensorHooks
     } // namespace ROS2SensorHooks
 } // namespace ROS2::SDFormat
 } // namespace ROS2::SDFormat

+ 2 - 3
Gems/ROS2/Code/Source/Sensor/Events/PhysicsBasedSource.cpp

@@ -6,11 +6,10 @@
  *
  *
  */
  */
 
 
+#include <AzCore/Serialization/SerializeContext.h>
 #include <AzFramework/Physics/PhysicsSystem.h>
 #include <AzFramework/Physics/PhysicsSystem.h>
-
-#include <ROS2/Utilities/ROS2Conversions.h>
 #include <ROS2/Sensor/Events/PhysicsBasedSource.h>
 #include <ROS2/Sensor/Events/PhysicsBasedSource.h>
-#include <ROS2/Sensor/SensorConfiguration.h>
+#include <ROS2/Utilities/ROS2Conversions.h>
 
 
 namespace ROS2
 namespace ROS2
 {
 {

+ 9 - 10
Gems/ROS2/Code/Source/Sensor/Events/TickBasedSource.cpp

@@ -1,16 +1,16 @@
 /*
 /*
-* Copyright (c) Contributors to the Open 3D Engine Project.
-* For complete copyright and license terms please see the LICENSE at the root of this distribution.
-*
-* SPDX-License-Identifier: Apache-2.0 OR MIT
-*
-*/
+ * Copyright (c) Contributors to the Open 3D Engine Project.
+ * For complete copyright and license terms please see the LICENSE at the root of this distribution.
+ *
+ * SPDX-License-Identifier: Apache-2.0 OR MIT
+ *
+ */
 
 
-#include <ROS2/Sensor/Events/TickBasedSource.h>
-#include <ROS2/Sensor/SensorConfiguration.h>
+#include <AzCore/Serialization/SerializeContext.h>
+#include <AzCore/std/numeric.h>
 #include <ROS2/ROS2Bus.h>
 #include <ROS2/ROS2Bus.h>
+#include <ROS2/Sensor/Events/TickBasedSource.h>
 #include <ROS2/Utilities/ROS2Conversions.h>
 #include <ROS2/Utilities/ROS2Conversions.h>
-#include <AzCore/std/numeric.h>
 namespace ROS2
 namespace ROS2
 {
 {
     void TickBasedSource::Reflect(AZ::ReflectContext* context)
     void TickBasedSource::Reflect(AZ::ReflectContext* context)
@@ -42,6 +42,5 @@ namespace ROS2
         AZ_UNUSED(deltaTime);
         AZ_UNUSED(deltaTime);
         const auto expectedSimulationLoopTime = ROS2Interface::Get()->GetExpectedSimulationLoopTime();
         const auto expectedSimulationLoopTime = ROS2Interface::Get()->GetExpectedSimulationLoopTime();
         m_sourceEvent.Signal(expectedSimulationLoopTime);
         m_sourceEvent.Signal(expectedSimulationLoopTime);
-
     }
     }
 } // namespace ROS2
 } // namespace ROS2

+ 11 - 12
Gems/ROS2/Code/Source/SystemComponents/ROS2SystemComponent.cpp

@@ -8,14 +8,12 @@
 #include <signal.h>
 #include <signal.h>
 
 
 #include "ROS2SystemComponent.h"
 #include "ROS2SystemComponent.h"
-#include <Lidar/LidarCore.h>
 #include <ROS2/Clock/ROS2TimeSource.h>
 #include <ROS2/Clock/ROS2TimeSource.h>
 #include <ROS2/Clock/RealTimeSource.h>
 #include <ROS2/Clock/RealTimeSource.h>
 #include <ROS2/Clock/SimulationTimeSource.h>
 #include <ROS2/Clock/SimulationTimeSource.h>
 #include <ROS2/Communication/PublisherConfiguration.h>
 #include <ROS2/Communication/PublisherConfiguration.h>
 #include <ROS2/Communication/QoS.h>
 #include <ROS2/Communication/QoS.h>
 #include <ROS2/Communication/TopicConfiguration.h>
 #include <ROS2/Communication/TopicConfiguration.h>
-#include <ROS2/Sensor/SensorConfiguration.h>
 #include <ROS2/Utilities/Controllers/PidConfiguration.h>
 #include <ROS2/Utilities/Controllers/PidConfiguration.h>
 #include <VehicleDynamics/VehicleModelComponent.h>
 #include <VehicleDynamics/VehicleModelComponent.h>
 
 
@@ -30,7 +28,6 @@
 #include <AzCore/std/sort.h>
 #include <AzCore/std/sort.h>
 #include <AzCore/std/string/string_view.h>
 #include <AzCore/std/string/string_view.h>
 #include <AzFramework/API/ApplicationAPI.h>
 #include <AzFramework/API/ApplicationAPI.h>
-#include <ROS2/Sensor/SensorConfigurationRequestBus.h>
 #include <ROS2/Utilities/ROS2Conversions.h>
 #include <ROS2/Utilities/ROS2Conversions.h>
 
 
 namespace ROS2
 namespace ROS2
@@ -45,8 +42,6 @@ namespace ROS2
         QoS::Reflect(context);
         QoS::Reflect(context);
         TopicConfiguration::Reflect(context);
         TopicConfiguration::Reflect(context);
         PublisherConfiguration::Reflect(context);
         PublisherConfiguration::Reflect(context);
-        LidarCore::Reflect(context);
-        SensorConfiguration::Reflect(context);
         VehicleDynamics::VehicleModelComponent::Reflect(context);
         VehicleDynamics::VehicleModelComponent::Reflect(context);
         ROS2::Controllers::PidConfiguration::Reflect(context);
         ROS2::Controllers::PidConfiguration::Reflect(context);
 
 
@@ -58,8 +53,8 @@ namespace ROS2
             {
             {
                 ec->Class<ROS2SystemComponent>(
                 ec->Class<ROS2SystemComponent>(
                       "ROS 2 System Component",
                       "ROS 2 System Component",
-                      "This component is responsible for creating ROS 2 node and executor, provides ROS 2 interfaces, manages ROS 2 clock and "
-                      "publishes transforms.")
+                      "This component is responsible for creating ROS 2 node and executor, provides ROS 2 interfaces, manages ROS 2 clock "
+                      "and publishes transforms.")
                     ->ClassElement(AZ::Edit::ClassElements::EditorData, "")
                     ->ClassElement(AZ::Edit::ClassElements::EditorData, "")
                     ->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC_CE("System"))
                     ->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC_CE("System"))
                     ->Attribute(AZ::Edit::Attributes::Category, "ROS2")
                     ->Attribute(AZ::Edit::Attributes::Category, "ROS2")
@@ -110,10 +105,11 @@ namespace ROS2
         rclcpp::init(0, 0);
         rclcpp::init(0, 0);
 
 
         // handle signals, e.g. via `Ctrl+C` hotkey or `kill` command
         // handle signals, e.g. via `Ctrl+C` hotkey or `kill` command
-        auto handler = [](int sig){
+        auto handler = [](int sig)
+        {
             rclcpp::shutdown(); // shutdown rclcpp
             rclcpp::shutdown(); // shutdown rclcpp
             std::raise(sig); // shutdown o3de
             std::raise(sig); // shutdown o3de
-            };
+        };
         signal(SIGINT, handler);
         signal(SIGINT, handler);
         signal(SIGTERM, handler);
         signal(SIGTERM, handler);
     }
     }
@@ -150,7 +146,8 @@ namespace ROS2
                 return;
                 return;
             }
             }
         }
         }
-        AZ_Info("ROS2SystemComponent", "Cannot read registry or the clock type '%s' is unknown, enabling simulation clock.", clockType.c_str());
+        AZ_Info(
+            "ROS2SystemComponent", "Cannot read registry or the clock type '%s' is unknown, enabling simulation clock.", clockType.c_str());
         m_simulationClock = AZStd::make_unique<ROS2Clock>(clocksMap["simulation"](), publishClock);
         m_simulationClock = AZStd::make_unique<ROS2Clock>(clocksMap["simulation"](), publishClock);
     }
     }
 
 
@@ -174,14 +171,16 @@ namespace ROS2
     {
     {
         AZ::TickBus::Handler::BusDisconnect();
         AZ::TickBus::Handler::BusDisconnect();
         ROS2RequestBus::Handler::BusDisconnect();
         ROS2RequestBus::Handler::BusDisconnect();
-        if (m_simulationClock) {
+        if (m_simulationClock)
+        {
             m_simulationClock->Deactivate();
             m_simulationClock->Deactivate();
         }
         }
         m_dynamicTFBroadcaster.reset();
         m_dynamicTFBroadcaster.reset();
         m_staticTFBroadcaster.reset();
         m_staticTFBroadcaster.reset();
         if (m_executor)
         if (m_executor)
         {
         {
-            if (m_ros2Node) {
+            if (m_ros2Node)
+            {
                 m_executor->remove_node(m_ros2Node);
                 m_executor->remove_node(m_ros2Node);
             }
             }
             m_executor.reset();
             m_executor.reset();

+ 0 - 1
Gems/ROS2/Code/Source/SystemComponents/ROS2SystemComponent.h

@@ -10,7 +10,6 @@
 #include <AzCore/Component/Component.h>
 #include <AzCore/Component/Component.h>
 #include <AzCore/Component/TickBus.h>
 #include <AzCore/Component/TickBus.h>
 #include <AzCore/std/smart_ptr/unique_ptr.h>
 #include <AzCore/std/smart_ptr/unique_ptr.h>
-#include <Lidar/LidarSystem.h>
 #include <ROS2/Clock/ROS2Clock.h>
 #include <ROS2/Clock/ROS2Clock.h>
 #include <ROS2/ROS2Bus.h>
 #include <ROS2/ROS2Bus.h>
 #include <builtin_interfaces/msg/time.hpp>
 #include <builtin_interfaces/msg/time.hpp>

+ 70 - 66
Gems/ROS2/Code/Tests/SdfParserTest.cpp

@@ -11,14 +11,13 @@
 #include <AzTest/AzTest.h>
 #include <AzTest/AzTest.h>
 #include <AzTest/Utils.h>
 #include <AzTest/Utils.h>
 #include <RobotImporter/SDFormat/ROS2SensorHooks.h>
 #include <RobotImporter/SDFormat/ROS2SensorHooks.h>
+#include <RobotImporter/URDF/UrdfParser.h>
 #include <RobotImporter/Utils/ErrorUtils.h>
 #include <RobotImporter/Utils/ErrorUtils.h>
 #include <RobotImporter/Utils/RobotImporterUtils.h>
 #include <RobotImporter/Utils/RobotImporterUtils.h>
-#include <RobotImporter/URDF/UrdfParser.h>
 
 
 namespace UnitTest
 namespace UnitTest
 {
 {
-    class SdfParserTest
-      : public LeakDetectionFixture
+    class SdfParserTest : public LeakDetectionFixture
     {
     {
     public:
     public:
         std::string GetSdfWithTwoSensors()
         std::string GetSdfWithTwoSensors()
@@ -581,16 +580,17 @@ namespace UnitTest
         }
         }
 
 
         {
         {
-            const auto& unsupportedCameraParams = ROS2::Utils::SDFormat::GetUnsupportedParams(cameraElement, cameraSupportedParams, supportedPlugins);
+            const auto& unsupportedCameraParams =
+                ROS2::Utils::SDFormat::GetUnsupportedParams(cameraElement, cameraSupportedParams, supportedPlugins);
             EXPECT_EQ(unsupportedCameraParams.size(), 1U);
             EXPECT_EQ(unsupportedCameraParams.size(), 1U);
             EXPECT_EQ(unsupportedCameraParams[0U], "plugin \"libgazebo_ros_camera.so\": >camera_name");
             EXPECT_EQ(unsupportedCameraParams[0U], "plugin \"libgazebo_ros_camera.so\": >camera_name");
         }
         }
 
 
-        AZStd::unordered_set<AZStd::string> supportedCameraPluginParams = {">camera_name", ">ros>remapping"};
+        AZStd::unordered_set<AZStd::string> supportedCameraPluginParams = { ">camera_name", ">ros>remapping" };
         {
         {
-          const auto& unsupportedCameraParams = ROS2::Utils::SDFormat::GetUnsupportedParams(
-              cameraElement, cameraSupportedParams, supportedPlugins, supportedCameraPluginParams);
-          EXPECT_EQ(unsupportedCameraParams.size(), 0U);
+            const auto& unsupportedCameraParams = ROS2::Utils::SDFormat::GetUnsupportedParams(
+                cameraElement, cameraSupportedParams, supportedPlugins, supportedCameraPluginParams);
+            EXPECT_EQ(unsupportedCameraParams.size(), 0U);
         }
         }
 
 
         const AZStd::unordered_set<AZStd::string> laserSupportedParams{ ">pose",
         const AZStd::unordered_set<AZStd::string> laserSupportedParams{ ">pose",
@@ -604,67 +604,71 @@ namespace UnitTest
                                                                         ">ray>range>resolution",
                                                                         ">ray>range>resolution",
                                                                         ">always_on",
                                                                         ">always_on",
                                                                         ">visualize" };
                                                                         ">visualize" };
-        const auto& unsupportedLaserParams = ROS2::Utils::SDFormat::GetUnsupportedParams(laserElement, laserSupportedParams, supportedPlugins);
+        const auto& unsupportedLaserParams =
+            ROS2::Utils::SDFormat::GetUnsupportedParams(laserElement, laserSupportedParams, supportedPlugins);
         EXPECT_EQ(unsupportedLaserParams.size(), 1U);
         EXPECT_EQ(unsupportedLaserParams.size(), 1U);
         EXPECT_EQ(unsupportedLaserParams[0U], "plugin \"librayplugin.so\"");
         EXPECT_EQ(unsupportedLaserParams[0U], "plugin \"librayplugin.so\"");
     }
     }
 
 
-    TEST_F(SdfParserTest, SensorPluginImporterHookCheck)
-    {
-        {
-            const auto xmlStr = GetSdfWithTwoSensors();
-            const auto sdfRootOutcome = ROS2::UrdfParser::Parse(xmlStr, {});
-            ASSERT_TRUE(sdfRootOutcome);
-            const auto& sdfRoot = sdfRootOutcome.GetRoot();
-            const auto* sdfModel = sdfRoot.Model();
-            ASSERT_NE(nullptr, sdfModel);
-            const sdf::ElementPtr cameraElement = sdfModel->LinkByName("link1")->SensorByIndex(0U)->Element();
-            const auto& cameraImporterHook = ROS2::SDFormat::ROS2SensorHooks::ROS2CameraSensor();
-
-            const auto& unsupportedCameraParams = ROS2::Utils::SDFormat::GetUnsupportedParams(
-                cameraElement, cameraImporterHook.m_supportedSensorParams, cameraImporterHook.m_pluginNames, cameraImporterHook.m_supportedPluginParams);
-            EXPECT_EQ(unsupportedCameraParams.size(), 1U);
-            EXPECT_EQ(unsupportedCameraParams[0U], "plugin \"libgazebo_ros_camera.so\": >camera_name");
-
-            sdf::Plugin plug;
-            plug.SetName("test_camera");
-            plug.SetFilename("libgazebo_ros_camera.so");
-            EXPECT_TRUE(ROS2::Utils::SDFormat::IsPluginSupported(plug, cameraImporterHook.m_pluginNames));
-            plug.SetFilename("/usr/lib/libgazebo_ros_openni_kinect.so");
-            EXPECT_TRUE(ROS2::Utils::SDFormat::IsPluginSupported(plug, cameraImporterHook.m_pluginNames));
-            plug.SetFilename("~/dev/libgazebo_ros_imu.so");
-            EXPECT_FALSE(ROS2::Utils::SDFormat::IsPluginSupported(plug, cameraImporterHook.m_pluginNames));
-            plug.SetFilename("libgazebo_ros_camera");
-            EXPECT_FALSE(ROS2::Utils::SDFormat::IsPluginSupported(plug, cameraImporterHook.m_pluginNames));
-
-            EXPECT_TRUE(cameraImporterHook.m_sensorTypes.contains(sdf::SensorType::CAMERA));
-            EXPECT_TRUE(cameraImporterHook.m_sensorTypes.contains(sdf::SensorType::DEPTH_CAMERA));
-            EXPECT_FALSE(cameraImporterHook.m_sensorTypes.contains(sdf::SensorType::GPS));
-
-            const sdf::ElementPtr lidarElement = sdfModel->LinkByName("link2")->SensorByIndex(0U)->Element();
-            const auto& lidarImporterHook = ROS2::SDFormat::ROS2SensorHooks::ROS2LidarSensor();
-            const auto& unsupportedLidarParams = ROS2::Utils::SDFormat::GetUnsupportedParams(
-                lidarElement, lidarImporterHook.m_supportedSensorParams, lidarImporterHook.m_pluginNames, lidarImporterHook.m_supportedPluginParams);
-            EXPECT_EQ(unsupportedLidarParams.size(), 3U);
-            EXPECT_EQ(unsupportedLidarParams[0U], ">always_on");
-            EXPECT_EQ(unsupportedLidarParams[1U], ">ray>range>resolution");
-            EXPECT_EQ(unsupportedLidarParams[2U], "plugin \"librayplugin.so\"");
-        }
-        {
-            const auto xmlStr = GetSdfWithImuSensor();
-            const auto sdfRootOutcome = ROS2::UrdfParser::Parse(xmlStr, {});
-            ASSERT_TRUE(sdfRootOutcome);
-            const auto& sdfRoot = sdfRootOutcome.GetRoot();
-            const auto* sdfModel = sdfRoot.Model();
-            ASSERT_NE(nullptr, sdfModel);
-            const sdf::ElementPtr imuElement = sdfModel->LinkByName("link1")->SensorByIndex(0U)->Element();
-            const auto& importerHook = ROS2::SDFormat::ROS2SensorHooks::ROS2ImuSensor();
-
-            const auto& unsupportedImuParams = ROS2::Utils::SDFormat::GetUnsupportedParams(
-                  imuElement, importerHook.m_supportedSensorParams, importerHook.m_pluginNames, importerHook.m_supportedPluginParams);
-            EXPECT_EQ(unsupportedImuParams.size(), 1U);
-            EXPECT_EQ(unsupportedImuParams[0U], ">always_on");
-        }
-    }
+    // temporarily disable import hooks for sensors and models for https://github.com/o3de/sig-simulation/pull/96
+    // TEST_F(SdfParserTest, SensorPluginImporterHookCheck)
+    // {
+    //     {
+    //         const auto xmlStr = GetSdfWithTwoSensors();
+    //         const auto sdfRootOutcome = ROS2::UrdfParser::Parse(xmlStr, {});
+    //         ASSERT_TRUE(sdfRootOutcome);
+    //         const auto& sdfRoot = sdfRootOutcome.GetRoot();
+    //         const auto* sdfModel = sdfRoot.Model();
+    //         ASSERT_NE(nullptr, sdfModel);
+    //         const sdf::ElementPtr cameraElement = sdfModel->LinkByName("link1")->SensorByIndex(0U)->Element();
+    //         const auto& cameraImporterHook = ROS2::SDFormat::ROS2SensorHooks::ROS2CameraSensor();
+
+    //         const auto& unsupportedCameraParams = ROS2::Utils::SDFormat::GetUnsupportedParams(
+    //             cameraElement, cameraImporterHook.m_supportedSensorParams, cameraImporterHook.m_pluginNames,
+    //             cameraImporterHook.m_supportedPluginParams);
+    //         EXPECT_EQ(unsupportedCameraParams.size(), 1U);
+    //         EXPECT_EQ(unsupportedCameraParams[0U], "plugin \"libgazebo_ros_camera.so\": >camera_name");
+
+    //         sdf::Plugin plug;
+    //         plug.SetName("test_camera");
+    //         plug.SetFilename("libgazebo_ros_camera.so");
+    //         EXPECT_TRUE(ROS2::Utils::SDFormat::IsPluginSupported(plug, cameraImporterHook.m_pluginNames));
+    //         plug.SetFilename("/usr/lib/libgazebo_ros_openni_kinect.so");
+    //         EXPECT_TRUE(ROS2::Utils::SDFormat::IsPluginSupported(plug, cameraImporterHook.m_pluginNames));
+    //         plug.SetFilename("~/dev/libgazebo_ros_imu.so");
+    //         EXPECT_FALSE(ROS2::Utils::SDFormat::IsPluginSupported(plug, cameraImporterHook.m_pluginNames));
+    //         plug.SetFilename("libgazebo_ros_camera");
+    //         EXPECT_FALSE(ROS2::Utils::SDFormat::IsPluginSupported(plug, cameraImporterHook.m_pluginNames));
+
+    //         EXPECT_TRUE(cameraImporterHook.m_sensorTypes.contains(sdf::SensorType::CAMERA));
+    //         EXPECT_TRUE(cameraImporterHook.m_sensorTypes.contains(sdf::SensorType::DEPTH_CAMERA));
+    //         EXPECT_FALSE(cameraImporterHook.m_sensorTypes.contains(sdf::SensorType::GPS));
+
+    //         const sdf::ElementPtr lidarElement = sdfModel->LinkByName("link2")->SensorByIndex(0U)->Element();
+    //         const auto& lidarImporterHook = ROS2::SDFormat::ROS2SensorHooks::ROS2LidarSensor();
+    //         const auto& unsupportedLidarParams = ROS2::Utils::SDFormat::GetUnsupportedParams(
+    //             lidarElement, lidarImporterHook.m_supportedSensorParams, lidarImporterHook.m_pluginNames,
+    //             lidarImporterHook.m_supportedPluginParams);
+    //         EXPECT_EQ(unsupportedLidarParams.size(), 3U);
+    //         EXPECT_EQ(unsupportedLidarParams[0U], ">always_on");
+    //         EXPECT_EQ(unsupportedLidarParams[1U], ">ray>range>resolution");
+    //         EXPECT_EQ(unsupportedLidarParams[2U], "plugin \"librayplugin.so\"");
+    //     }
+    //     {
+    //         const auto xmlStr = GetSdfWithImuSensor();
+    //         const auto sdfRootOutcome = ROS2::UrdfParser::Parse(xmlStr, {});
+    //         ASSERT_TRUE(sdfRootOutcome);
+    //         const auto& sdfRoot = sdfRootOutcome.GetRoot();
+    //         const auto* sdfModel = sdfRoot.Model();
+    //         ASSERT_NE(nullptr, sdfModel);
+    //         const sdf::ElementPtr imuElement = sdfModel->LinkByName("link1")->SensorByIndex(0U)->Element();
+    //         const auto& importerHook = ROS2::SDFormat::ROS2SensorHooks::ROS2ImuSensor();
+
+    //         const auto& unsupportedImuParams = ROS2::Utils::SDFormat::GetUnsupportedParams(
+    //               imuElement, importerHook.m_supportedSensorParams, importerHook.m_pluginNames, importerHook.m_supportedPluginParams);
+    //         EXPECT_EQ(unsupportedImuParams.size(), 1U);
+    //         EXPECT_EQ(unsupportedImuParams[0U], ">always_on");
+    //     }
+    // }
 
 
 } // namespace UnitTest
 } // namespace UnitTest

+ 9 - 14
Gems/ROS2/Code/ros2_editor_files.cmake

@@ -6,12 +6,6 @@
 set(FILES
 set(FILES
     ../Assets/Editor/Images/Icons/ROS2.qrc
     ../Assets/Editor/Images/Icons/ROS2.qrc
     ../Assets/Editor/Images/Icons/ROS_import_icon.svg
     ../Assets/Editor/Images/Icons/ROS_import_icon.svg
-    Source/Camera/ROS2CameraSensorEditorComponent.cpp
-    Source/Camera/ROS2CameraSensorEditorComponent.h
-    Source/Camera/ROS2EditorCameraSystemComponent.cpp
-    Source/Camera/ROS2EditorCameraSystemComponent.h
-    Source/Lidar/LidarRegistrarEditorSystemComponent.cpp
-    Source/Lidar/LidarRegistrarEditorSystemComponent.h
     Source/Manipulation/JointsPositionsEditorComponent.cpp
     Source/Manipulation/JointsPositionsEditorComponent.cpp
     Source/Manipulation/JointsPositionsEditorComponent.h
     Source/Manipulation/JointsPositionsEditorComponent.h
     Source/Manipulation/JointsManipulationEditorComponent.cpp
     Source/Manipulation/JointsManipulationEditorComponent.cpp
@@ -38,14 +32,15 @@ set(FILES
     Source/RobotImporter/RobotImporterWidget.h
     Source/RobotImporter/RobotImporterWidget.h
     Source/RobotImporter/ROS2RobotImporterEditorSystemComponent.cpp
     Source/RobotImporter/ROS2RobotImporterEditorSystemComponent.cpp
     Source/RobotImporter/ROS2RobotImporterEditorSystemComponent.h
     Source/RobotImporter/ROS2RobotImporterEditorSystemComponent.h
-    Source/RobotImporter/SDFormat/Hooks/ROS2AckermannModelHook.cpp
-    Source/RobotImporter/SDFormat/Hooks/ROS2CameraSensorHook.cpp
-    Source/RobotImporter/SDFormat/Hooks/ROS2GNSSSensorHook.cpp
-    Source/RobotImporter/SDFormat/Hooks/ROS2ImuSensorHook.cpp
-    Source/RobotImporter/SDFormat/Hooks/ROS2LidarSensorHook.cpp
-    Source/RobotImporter/SDFormat/Hooks/ROS2SkidSteeringModelHook.cpp
-    Source/RobotImporter/SDFormat/Hooks/ROS2JointPoseTrajectoryModelHook.cpp
-    Source/RobotImporter/SDFormat/Hooks/ROS2JointStatePublisherModelHook.cpp
+    # temporarily disable import hooks for sensors and models for https://github.com/o3de/sig-simulation/pull/96
+    # Source/RobotImporter/SDFormat/Hooks/ROS2AckermannModelHook.cpp
+    # Source/RobotImporter/SDFormat/Hooks/ROS2CameraSensorHook.cpp
+    # Source/RobotImporter/SDFormat/Hooks/ROS2GNSSSensorHook.cpp
+    # Source/RobotImporter/SDFormat/Hooks/ROS2ImuSensorHook.cpp
+    # Source/RobotImporter/SDFormat/Hooks/ROS2LidarSensorHook.cpp
+    # Source/RobotImporter/SDFormat/Hooks/ROS2SkidSteeringModelHook.cpp
+    # Source/RobotImporter/SDFormat/Hooks/ROS2JointPoseTrajectoryModelHook.cpp
+    # Source/RobotImporter/SDFormat/Hooks/ROS2JointStatePublisherModelHook.cpp
     Source/RobotImporter/SDFormat/ROS2ModelPluginHooks.h
     Source/RobotImporter/SDFormat/ROS2ModelPluginHooks.h
     Source/RobotImporter/SDFormat/ROS2SDFormatHooksUtils.cpp
     Source/RobotImporter/SDFormat/ROS2SDFormatHooksUtils.cpp
     Source/RobotImporter/SDFormat/ROS2SDFormatHooksUtils.h
     Source/RobotImporter/SDFormat/ROS2SDFormatHooksUtils.h

+ 1 - 59
Gems/ROS2/Code/ros2_files.cmake

@@ -9,23 +9,6 @@ set(FILES
         ../Assets/Passes/PipelineROSColor.pass
         ../Assets/Passes/PipelineROSColor.pass
         ../Assets/Passes/PipelineROSDepth.pass
         ../Assets/Passes/PipelineROSDepth.pass
         ../Assets/Passes/ROSPassTemplates.azasset
         ../Assets/Passes/ROSPassTemplates.azasset
-        Source/Camera/CameraConstants.h
-        Source/Camera/CameraPublishers.cpp
-        Source/Camera/CameraPublishers.h
-        Source/Camera/CameraSensor.cpp
-        Source/Camera/CameraSensor.h
-        Source/Camera/CameraSensorDescription.cpp
-        Source/Camera/CameraSensorDescription.h
-        Source/Camera/CameraSensorConfiguration.cpp
-        Source/Camera/CameraSensorConfiguration.h
-        Source/Camera/ROS2CameraSensorComponent.cpp
-        Source/Camera/ROS2CameraSensorComponent.h
-        Source/Camera/ROS2CameraSystemComponent.cpp
-        Source/Camera/ROS2CameraSystemComponent.h
-        Source/Camera/PostProcessing/ROS2ImageEncodingConversionComponent.cpp
-        Source/Camera/PostProcessing/ROS2ImageEncodingConversionComponent.h
-        Source/Camera/CameraUtilities.cpp
-        Source/Camera/CameraUtilities.h
         Source/Clock/ROS2Clock.cpp
         Source/Clock/ROS2Clock.cpp
         Source/Clock/ROS2TimeSource.cpp
         Source/Clock/ROS2TimeSource.cpp
         Source/Clock/SimulationTimeSource.cpp
         Source/Clock/SimulationTimeSource.cpp
@@ -33,8 +16,6 @@ set(FILES
         Source/Communication/QoS.cpp
         Source/Communication/QoS.cpp
         Source/Communication/PublisherConfiguration.cpp
         Source/Communication/PublisherConfiguration.cpp
         Source/Communication/TopicConfiguration.cpp
         Source/Communication/TopicConfiguration.cpp
-        Source/ContactSensor/ROS2ContactSensorComponent.cpp
-        Source/ContactSensor/ROS2ContactSensorComponent.h
         Source/Frame/NamespaceConfiguration.cpp
         Source/Frame/NamespaceConfiguration.cpp
         Source/Frame/ROS2FrameComponent.cpp
         Source/Frame/ROS2FrameComponent.cpp
         Source/Frame/ROS2FrameConfiguration.cpp
         Source/Frame/ROS2FrameConfiguration.cpp
@@ -47,37 +28,6 @@ set(FILES
         Source/Gripper/VacuumGripperComponent.cpp
         Source/Gripper/VacuumGripperComponent.cpp
         Source/Gripper/FingerGripperComponent.h
         Source/Gripper/FingerGripperComponent.h
         Source/Gripper/FingerGripperComponent.cpp
         Source/Gripper/FingerGripperComponent.cpp
-        Source/GNSS/ROS2GNSSSensorComponent.cpp
-        Source/GNSS/ROS2GNSSSensorComponent.h
-        Source/Imu/ImuSensorConfiguration.cpp
-        Source/Imu/ImuSensorConfiguration.h
-        Source/Imu/ROS2ImuSensorComponent.cpp
-        Source/Imu/ROS2ImuSensorComponent.h
-        Source/Lidar/LidarRaycaster.cpp
-        Source/Lidar/LidarRaycaster.h
-        Source/Lidar/LidarRegistrarSystemComponent.cpp
-        Source/Lidar/LidarRegistrarSystemComponent.h
-        Source/Lidar/LidarSensorConfiguration.cpp
-        Source/Lidar/LidarSensorConfiguration.h
-        Source/Lidar/LidarSystem.cpp
-        Source/Lidar/LidarSystem.h
-        Source/Lidar/LidarTemplate.cpp
-        Source/Lidar/LidarTemplate.h
-        Source/Lidar/LidarTemplateUtils.cpp
-        Source/Lidar/LidarTemplateUtils.h
-        Source/Lidar/PointCloudMessageBuilder.cpp
-        Source/Lidar/PointCloudMessageBuilder.h
-        Source/Lidar/RaycastResults.cpp
-        Source/Lidar/LidarCore.cpp
-        Source/Lidar/LidarCore.h
-        Source/Lidar/ROS2Lidar2DSensorComponent.cpp
-        Source/Lidar/ROS2Lidar2DSensorComponent.h
-        Source/Lidar/ROS2LidarSensorComponent.cpp
-        Source/Lidar/ROS2LidarSensorComponent.h
-        Source/Lidar/ClassSegmentationConfigurationComponent.cpp
-        Source/Lidar/ClassSegmentationConfigurationComponent.h
-        Source/Lidar/SegmentationClassConfiguration.cpp
-        Source/Lidar/SegmentationUtils.cpp
         Source/Manipulation/Controllers/JointsArticulationControllerComponent.cpp
         Source/Manipulation/Controllers/JointsArticulationControllerComponent.cpp
         Source/Manipulation/Controllers/JointsArticulationControllerComponent.h
         Source/Manipulation/Controllers/JointsArticulationControllerComponent.h
         Source/Manipulation/Controllers/JointsPIDControllerComponent.cpp
         Source/Manipulation/Controllers/JointsPIDControllerComponent.cpp
@@ -101,12 +51,6 @@ set(FILES
         Source/Manipulation/MotorizedJoints/JointMotorControllerConfiguration.cpp
         Source/Manipulation/MotorizedJoints/JointMotorControllerConfiguration.cpp
         Source/Manipulation/MotorizedJoints/ManualMotorControllerComponent.cpp
         Source/Manipulation/MotorizedJoints/ManualMotorControllerComponent.cpp
         Source/Manipulation/MotorizedJoints/PidMotorControllerComponent.cpp
         Source/Manipulation/MotorizedJoints/PidMotorControllerComponent.cpp
-        Source/Odometry/ROS2OdometrySensorComponent.cpp
-        Source/Odometry/ROS2OdometrySensorComponent.h
-        Source/Odometry/ROS2WheelOdometry.cpp
-        Source/Odometry/ROS2WheelOdometry.h
-        Source/Odometry/ROS2OdometryCovariance.cpp
-        Source/Odometry/ROS2OdometryCovariance.h
         Source/RobotControl/Ackermann/AckermannSubscriptionHandler.cpp
         Source/RobotControl/Ackermann/AckermannSubscriptionHandler.cpp
         Source/RobotControl/Ackermann/AckermannSubscriptionHandler.h
         Source/RobotControl/Ackermann/AckermannSubscriptionHandler.h
         Source/RobotControl/ControlConfiguration.cpp
         Source/RobotControl/ControlConfiguration.cpp
@@ -124,8 +68,6 @@ set(FILES
         Source/ROS2ModuleInterface.h
         Source/ROS2ModuleInterface.h
         Source/Sensor/Events/PhysicsBasedSource.cpp
         Source/Sensor/Events/PhysicsBasedSource.cpp
         Source/Sensor/Events/TickBasedSource.cpp
         Source/Sensor/Events/TickBasedSource.cpp
-        Source/Sensor/SensorConfiguration.cpp
-        Source/Sensor/SensorHelpers.cpp
         Source/SimulationUtils/FollowingCameraConfiguration.cpp
         Source/SimulationUtils/FollowingCameraConfiguration.cpp
         Source/SimulationUtils/FollowingCameraConfiguration.h
         Source/SimulationUtils/FollowingCameraConfiguration.h
         Source/SimulationUtils/FollowingCameraComponent.cpp
         Source/SimulationUtils/FollowingCameraComponent.cpp
@@ -177,4 +119,4 @@ set(FILES
         Source/VehicleDynamics/WheelControllerComponent.cpp
         Source/VehicleDynamics/WheelControllerComponent.cpp
         Source/VehicleDynamics/WheelControllerComponent.h
         Source/VehicleDynamics/WheelControllerComponent.h
         Source/VehicleDynamics/WheelDynamicsData.h
         Source/VehicleDynamics/WheelDynamicsData.h
-        )
+)

+ 0 - 15
Gems/ROS2/Code/ros2_header_files.cmake

@@ -4,8 +4,6 @@
 # SPDX-License-Identifier: Apache-2.0 OR MIT
 # SPDX-License-Identifier: Apache-2.0 OR MIT
 
 
 set(FILES
 set(FILES
-        Include/ROS2/Camera/CameraCalibrationRequestBus.h
-        Include/ROS2/Camera/CameraPostProcessingRequestBus.h
         Include/ROS2/Clock/ROS2Clock.h
         Include/ROS2/Clock/ROS2Clock.h
         Include/ROS2/Clock/ITimeSource.h
         Include/ROS2/Clock/ITimeSource.h
         Include/ROS2/Clock/ROS2TimeSource.h
         Include/ROS2/Clock/ROS2TimeSource.h
@@ -18,7 +16,6 @@ set(FILES
         Include/ROS2/Frame/ROS2FrameComponent.h
         Include/ROS2/Frame/ROS2FrameComponent.h
         Include/ROS2/Frame/ROS2FrameConfiguration.h
         Include/ROS2/Frame/ROS2FrameConfiguration.h
         Include/ROS2/Frame/ROS2Transform.h
         Include/ROS2/Frame/ROS2Transform.h
-        Include/ROS2/GNSS/GNSSPostProcessingRequestBus.h
         Include/ROS2/Gripper/GripperRequestBus.h
         Include/ROS2/Gripper/GripperRequestBus.h
         Include/ROS2/Manipulation/Controllers/JointsPositionControllerRequests.h
         Include/ROS2/Manipulation/Controllers/JointsPositionControllerRequests.h
         Include/ROS2/Manipulation/JointInfo.h
         Include/ROS2/Manipulation/JointInfo.h
@@ -33,24 +30,12 @@ set(FILES
         Include/ROS2/RobotControl/ControlSubscriptionHandler.h
         Include/ROS2/RobotControl/ControlSubscriptionHandler.h
         Include/ROS2/RobotImporter/SDFormatModelPluginImporterHook.h
         Include/ROS2/RobotImporter/SDFormatModelPluginImporterHook.h
         Include/ROS2/RobotImporter/SDFormatSensorImporterHook.h
         Include/ROS2/RobotImporter/SDFormatSensorImporterHook.h
-        Include/ROS2/ROS2SensorTypesIds.h
-        Include/ROS2/Lidar/ClassSegmentationBus.h
-        Include/ROS2/Lidar/LidarRaycasterBus.h
-        Include/ROS2/Lidar/LidarSystemBus.h
-        Include/ROS2/Lidar/LidarRegistrarBus.h
-        Include/ROS2/Lidar/RaycastResults.h
-        Include/ROS2/Lidar/SegmentationClassConfiguration.h
-        Include/ROS2/Lidar/SegmentationUtils.h
         Include/ROS2/ROS2Bus.h
         Include/ROS2/ROS2Bus.h
         Include/ROS2/ROS2GemUtilities.h
         Include/ROS2/ROS2GemUtilities.h
         Include/ROS2/Sensor/Events/EventSourceAdapter.h
         Include/ROS2/Sensor/Events/EventSourceAdapter.h
         Include/ROS2/Sensor/Events/SensorEventSource.h
         Include/ROS2/Sensor/Events/SensorEventSource.h
         Include/ROS2/Sensor/Events/PhysicsBasedSource.h
         Include/ROS2/Sensor/Events/PhysicsBasedSource.h
         Include/ROS2/Sensor/Events/TickBasedSource.h
         Include/ROS2/Sensor/Events/TickBasedSource.h
-        Include/ROS2/Sensor/ROS2SensorComponentBase.h
-        Include/ROS2/Sensor/SensorConfiguration.h
-        Include/ROS2/Sensor/SensorConfigurationRequestBus.h
-        Include/ROS2/Sensor/SensorHelper.h
         Include/ROS2/Spawner/SpawnerBus.h
         Include/ROS2/Spawner/SpawnerBus.h
         Include/ROS2/Spawner/SpawnerBusHandler.h
         Include/ROS2/Spawner/SpawnerBusHandler.h
         Include/ROS2/Utilities/Controllers/PidConfiguration.h
         Include/ROS2/Utilities/Controllers/PidConfiguration.h

+ 61 - 0
Gems/ROS2Sensors/.clang-format

@@ -0,0 +1,61 @@
+Language: Cpp
+
+AccessModifierOffset: -4
+AlignAfterOpenBracket: AlwaysBreak
+AlignConsecutiveAssignments: false
+AlignConsecutiveDeclarations: false
+AlignEscapedNewlines: Right
+AlignOperands: false
+AlignTrailingComments: false
+AllowAllArgumentsOnNextLine: true
+AllowAllParametersOfDeclarationOnNextLine: true
+AllowShortFunctionsOnASingleLine: None
+AllowShortLambdasOnASingleLine: None
+AlwaysBreakAfterReturnType: None
+AlwaysBreakTemplateDeclarations: true
+BinPackArguments: false
+BinPackParameters: false
+BreakBeforeBraces: Custom
+BraceWrapping:
+    AfterClass: true
+    AfterControlStatement: true
+    AfterEnum: true
+    AfterFunction: true
+    AfterNamespace: true
+    BeforeLambdaBody: true
+    AfterStruct: true
+    BeforeElse: true
+    SplitEmptyFunction: true
+BreakBeforeTernaryOperators: true
+BreakConstructorInitializers: BeforeComma
+BreakInheritanceList: BeforeComma
+ColumnLimit: 140
+ConstructorInitializerIndentWidth: 4
+ContinuationIndentWidth: 4
+Cpp11BracedListStyle: false
+FixNamespaceComments: true
+IncludeBlocks: Preserve
+IndentCaseBlocks: true
+IndentCaseLabels: false
+IndentPPDirectives: None
+IndentWidth: 4
+KeepEmptyLinesAtTheStartOfBlocks: false
+MaxEmptyLinesToKeep: 1
+NamespaceIndentation: All
+PenaltyReturnTypeOnItsOwnLine: 1000
+PointerAlignment: Left
+SortIncludes: true
+SpaceAfterLogicalNot: false
+SpaceAfterTemplateKeyword: false
+SpaceBeforeAssignmentOperators: true
+SpaceBeforeCpp11BracedList: false
+SpaceBeforeCtorInitializerColon: true
+SpaceBeforeInheritanceColon: true
+SpaceBeforeParens: ControlStatements
+SpaceBeforeRangeBasedForLoopColon: true
+SpaceInEmptyParentheses: false
+SpacesInAngles: false
+SpacesInCStyleCastParentheses: false
+SpacesInParentheses: false
+Standard: c++17
+UseTab: Never

+ 0 - 0
Gems/ROS2Sensors/.gitignore


+ 0 - 0
Gems/ROS2/Assets/Editor/Icons/Components/ROS2CameraSensor.svg → Gems/ROS2Sensors/Assets/Editor/Icons/Components/ROS2CameraSensor.svg


+ 0 - 0
Gems/ROS2/Assets/Editor/Icons/Components/ROS2ContactSensor.svg → Gems/ROS2Sensors/Assets/Editor/Icons/Components/ROS2ContactSensor.svg


+ 0 - 0
Gems/ROS2/Assets/Editor/Icons/Components/ROS2GNSSSensor.svg → Gems/ROS2Sensors/Assets/Editor/Icons/Components/ROS2GNSSSensor.svg


+ 0 - 0
Gems/ROS2/Assets/Editor/Icons/Components/ROS2ImuSensor.svg → Gems/ROS2Sensors/Assets/Editor/Icons/Components/ROS2ImuSensor.svg


+ 0 - 0
Gems/ROS2/Assets/Editor/Icons/Components/ROS2Lidar2DSensor.svg → Gems/ROS2Sensors/Assets/Editor/Icons/Components/ROS2Lidar2DSensor.svg


+ 0 - 0
Gems/ROS2/Assets/Editor/Icons/Components/ROS2LidarSensor.svg → Gems/ROS2Sensors/Assets/Editor/Icons/Components/ROS2LidarSensor.svg


+ 0 - 0
Gems/ROS2/Assets/Editor/Icons/Components/ROS2OdometrySensor.svg → Gems/ROS2Sensors/Assets/Editor/Icons/Components/ROS2OdometrySensor.svg


+ 0 - 0
Gems/ROS2/Assets/Editor/Icons/Components/ROS2WheelOdometrySensor.svg → Gems/ROS2Sensors/Assets/Editor/Icons/Components/ROS2WheelOdometrySensor.svg


+ 0 - 0
Gems/ROS2/Assets/Editor/Icons/Components/Viewport/ROS2CameraSensor.svg → Gems/ROS2Sensors/Assets/Editor/Icons/Components/Viewport/ROS2CameraSensor.svg


+ 0 - 0
Gems/ROS2/Assets/Editor/Icons/Components/Viewport/ROS2ContactSensor.svg → Gems/ROS2Sensors/Assets/Editor/Icons/Components/Viewport/ROS2ContactSensor.svg


+ 0 - 0
Gems/ROS2/Assets/Editor/Icons/Components/Viewport/ROS2GNSSSensor.svg → Gems/ROS2Sensors/Assets/Editor/Icons/Components/Viewport/ROS2GNSSSensor.svg


+ 0 - 0
Gems/ROS2/Assets/Editor/Icons/Components/Viewport/ROS2ImuSensor.svg → Gems/ROS2Sensors/Assets/Editor/Icons/Components/Viewport/ROS2ImuSensor.svg


+ 0 - 0
Gems/ROS2/Assets/Editor/Icons/Components/Viewport/ROS2Lidar2DSensor.svg → Gems/ROS2Sensors/Assets/Editor/Icons/Components/Viewport/ROS2Lidar2DSensor.svg


+ 0 - 0
Gems/ROS2/Assets/Editor/Icons/Components/Viewport/ROS2LidarSensor.svg → Gems/ROS2Sensors/Assets/Editor/Icons/Components/Viewport/ROS2LidarSensor.svg


+ 0 - 0
Gems/ROS2/Assets/Editor/Icons/Components/Viewport/ROS2OdometrySensor.svg → Gems/ROS2Sensors/Assets/Editor/Icons/Components/Viewport/ROS2OdometrySensor.svg


+ 0 - 0
Gems/ROS2/Assets/Editor/Icons/Components/Viewport/ROS2WheelOdometrySensor.svg → Gems/ROS2Sensors/Assets/Editor/Icons/Components/Viewport/ROS2WheelOdometrySensor.svg


+ 13 - 0
Gems/ROS2Sensors/CMakeLists.txt

@@ -0,0 +1,13 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+o3de_gem_setup("ROS2Sensors")
+
+ly_add_external_target_path(${CMAKE_CURRENT_SOURCE_DIR}/3rdParty)
+
+add_subdirectory(Code)

+ 277 - 0
Gems/ROS2Sensors/Code/CMakeLists.txt

@@ -0,0 +1,277 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+# Currently we are in the Code folder: ${CMAKE_CURRENT_LIST_DIR}
+# Get the platform specific folder ${pal_dir} for the current folder: ${CMAKE_CURRENT_LIST_DIR}/Platform/${PAL_PLATFORM_NAME}
+# Note: o3de_pal_dir will take care of the details for us, as this may be a restricted platform
+#       in which case it will see if that platform is present here or in the restricted folder.
+#       i.e. It could here in our gem : Gems/ROS2Sensors/Code/Platform/<platorm_name>  or
+#            <restricted_folder>/<platform_name>/Gems/ROS2Sensors/Code
+o3de_pal_dir(pal_dir ${CMAKE_CURRENT_LIST_DIR}/Platform/${PAL_PLATFORM_NAME} "${gem_restricted_path}" "${gem_path}" "${gem_parent_relative_path}")
+
+# Now that we have the platform abstraction layer (PAL) folder for this folder, thats where we will find the
+# traits for this platform. Traits for a platform are defines for things like whether or not something in this gem
+# is supported by this platform.
+include(${pal_dir}/PAL_${PAL_PLATFORM_NAME_LOWERCASE}.cmake)
+
+# Check to see if building the Gem Modules are supported for the current platform
+if(NOT PAL_TRAIT_ROS2SENSORS_SUPPORTED)
+    return()
+endif()
+
+# Add the ROS2Sensors.Lidar.Static target
+# Note: this target will include all helper methods that are used by any Lidar implementation
+ly_add_target(
+    NAME ${gem_name}.Lidar.Static STATIC
+    NAMESPACE Gem
+    FILES_CMAKE
+        ros2sensors_lidar_api_files.cmake
+        ros2sensors_lidar_shared_files.cmake
+    INCLUDE_DIRECTORIES
+        PUBLIC
+            Include
+        PRIVATE
+            Source
+    BUILD_DEPENDENCIES
+        PUBLIC
+            AZ::AzCore
+            AZ::AzFramework
+            Gem::LmbrCentral.API
+)
+
+# The ${gem_name}.API target declares the common interface that users of this gem should depend on in their targets
+ly_add_target(
+    NAME ${gem_name}.API INTERFACE
+    NAMESPACE Gem
+    FILES_CMAKE
+        ros2sensors_api_files.cmake
+        ${pal_dir}/ros2sensors_api_files.cmake
+    INCLUDE_DIRECTORIES
+        INTERFACE
+            Include
+    BUILD_DEPENDENCIES
+        INTERFACE
+           AZ::AzCore
+)
+
+# The ${gem_name}.Private.Object target is an internal target
+# It should not be used outside of this Gems CMakeLists.txt
+ly_add_target(
+    NAME ${gem_name}.Private.Object STATIC
+    NAMESPACE Gem
+    FILES_CMAKE
+        ros2sensors_private_files.cmake
+        ${pal_dir}/ros2sensors_private_files.cmake
+    TARGET_PROPERTIES
+        O3DE_PRIVATE_TARGET TRUE
+    INCLUDE_DIRECTORIES
+        PRIVATE
+            Include
+            Source
+    BUILD_DEPENDENCIES
+        PUBLIC
+            AZ::AzCore
+            AZ::AzFramework
+            Gem::ROS2.Static
+            Gem::LevelGeoreferencing.API
+            ${gem_name}.Lidar.Static
+)
+
+target_depends_on_ros2_packages(${gem_name}.Private.Object rclcpp sensor_msgs nav_msgs)
+
+# Here add ${gem_name} target, it depends on the Private Object library and Public API interface
+ly_add_target(
+    NAME ${gem_name} ${PAL_TRAIT_MONOLITHIC_DRIVEN_MODULE_TYPE}
+    NAMESPACE Gem
+    FILES_CMAKE
+        ros2sensors_shared_files.cmake
+        ${pal_dir}/ros2sensors_shared_files.cmake
+    INCLUDE_DIRECTORIES
+        PUBLIC
+            Include
+        PRIVATE
+            Source
+    BUILD_DEPENDENCIES
+        PUBLIC
+            Gem::${gem_name}.API
+        PRIVATE
+            Gem::${gem_name}.Private.Object
+)
+
+# Include the gem name into the Client Module source file
+# for use with the AZ_DECLARE_MODULE_CLASS macro
+# This is to allow renaming of the gem to also cause
+# the CreateModuleClass_Gem_<gem-name> function which
+# is used to bootstrap the gem in monolithic builds to link to the new gem name
+ly_add_source_properties(
+SOURCES
+    Source/Clients/ROS2SensorsModule.cpp
+PROPERTY COMPILE_DEFINITIONS
+    VALUES
+        O3DE_GEM_NAME=${gem_name}
+        O3DE_GEM_VERSION=${gem_version})
+
+# By default, we will specify that the above target ${gem_name} would be used by
+# Client and Server type targets when this gem is enabled.  If you don't want it
+# active in Clients or Servers by default, delete one of both of the following lines:
+ly_create_alias(NAME ${gem_name}.Clients NAMESPACE Gem TARGETS Gem::${gem_name})
+ly_create_alias(NAME ${gem_name}.Servers NAMESPACE Gem TARGETS Gem::${gem_name})
+ly_create_alias(NAME ${gem_name}.Unified NAMESPACE Gem TARGETS Gem::${gem_name})
+
+# For the Client and Server variants of ${gem_name} Gem, an alias to the ${gem_name}.API target will be made
+ly_create_alias(NAME ${gem_name}.Clients.API NAMESPACE Gem TARGETS Gem::${gem_name}.API)
+ly_create_alias(NAME ${gem_name}.Servers.API NAMESPACE Gem TARGETS Gem::${gem_name}.API)
+ly_create_alias(NAME ${gem_name}.Unified.API NAMESPACE Gem TARGETS Gem::${gem_name}.API)
+
+# Add in CMake dependencies for each gem dependency listed in this gem's gem.json file
+# for the Clients, Servers, Unified gem variants
+o3de_add_variant_dependencies_for_gem_dependencies(GEM_NAME ${gem_name} VARIANTS Clients Servers Unified)
+
+# If we are on a host platform, we want to add the host tools targets like the ${gem_name}.Editor MODULE target
+if(PAL_TRAIT_BUILD_HOST_TOOLS)
+    # The ${gem_name}.Editor.API target can be used by other gems that want to interact with the ${gem_name}.Editor module
+    ly_add_target(
+        NAME ${gem_name}.Editor.API INTERFACE
+        NAMESPACE Gem
+        FILES_CMAKE
+            ros2sensors_editor_api_files.cmake
+            ${pal_dir}/ros2sensors_editor_api_files.cmake
+        INCLUDE_DIRECTORIES
+            INTERFACE
+                Include
+        BUILD_DEPENDENCIES
+            INTERFACE
+                AZ::AzToolsFramework
+    )
+
+    # The ${gem_name}.Editor.Private.Object target is an internal target
+    # which is only to be used by this gems CMakeLists.txt and any subdirectories
+    # Other gems should not use this target
+    ly_add_target(
+        NAME ${gem_name}.Editor.Private.Object STATIC
+        NAMESPACE Gem
+        FILES_CMAKE
+            ros2sensors_editor_private_files.cmake
+        TARGET_PROPERTIES
+            O3DE_PRIVATE_TARGET TRUE
+        INCLUDE_DIRECTORIES
+            PRIVATE
+                Include
+                Source
+        BUILD_DEPENDENCIES
+            PUBLIC
+                AZ::AzToolsFramework
+                ${gem_name}.Private.Object
+    )
+
+    ly_add_target(
+        NAME ${gem_name}.Editor GEM_MODULE
+        NAMESPACE Gem
+        AUTOMOC
+        FILES_CMAKE
+            ros2sensors_editor_shared_files.cmake
+        INCLUDE_DIRECTORIES
+            PRIVATE
+                Source
+            PUBLIC
+                Include
+        BUILD_DEPENDENCIES
+            PUBLIC
+                Gem::${gem_name}.Editor.API
+            PRIVATE
+                Gem::${gem_name}.Editor.Private.Object
+    )
+
+    # Include the gem name into the Editor Module source file
+    # for use with the AZ_DECLARE_MODULE_CLASS macro
+    # This is to allow renaming of the gem to also cause
+    # the CreateModuleClass_Gem_<gem-name> function which
+    # is used to bootstrap the gem in monolithic builds to link to the new gem name
+    ly_add_source_properties(
+    SOURCES
+        Source/Tools/ROS2SensorsEditorModule.cpp
+    PROPERTY COMPILE_DEFINITIONS
+        VALUES
+            O3DE_GEM_NAME=${gem_name}
+            O3DE_GEM_VERSION=${gem_version})
+
+    # By default, we will specify that the above target ${gem_name} would be used by
+    # Tool and Builder type targets when this gem is enabled.  If you don't want it
+    # active in Tools or Builders by default, delete one of both of the following lines:
+    ly_create_alias(NAME ${gem_name}.Tools    NAMESPACE Gem TARGETS Gem::${gem_name}.Editor)
+    ly_create_alias(NAME ${gem_name}.Builders NAMESPACE Gem TARGETS Gem::${gem_name}.Editor)
+
+    # For the Tools and Builders variants of ${gem_name} Gem, an alias to the ${gem_name}.Editor API target will be made
+    ly_create_alias(NAME ${gem_name}.Tools.API NAMESPACE Gem TARGETS Gem::${gem_name}.Editor.API)
+    ly_create_alias(NAME ${gem_name}.Builders.API NAMESPACE Gem TARGETS Gem::${gem_name}.Editor.API)
+
+    # Add in CMake dependencies for each gem dependency listed in this gem's gem.json file
+    # for the Tools and Builders gem variants
+    o3de_add_variant_dependencies_for_gem_dependencies(GEM_NAME ${gem_name} VARIANTS Tools Builders)
+endif()
+
+################################################################################
+# Tests
+################################################################################
+# See if globally, tests are supported
+if(PAL_TRAIT_BUILD_TESTS_SUPPORTED)
+    # We globally support tests, see if we support tests on this platform for ${gem_name}.Tests
+    if(PAL_TRAIT_ROS2SENSORS_TEST_SUPPORTED)
+        # We support ${gem_name}.Tests on this platform, add dependency on the Private Object target
+        ly_add_target(
+            NAME ${gem_name}.Tests ${PAL_TRAIT_TEST_TARGET_TYPE}
+            NAMESPACE Gem
+            FILES_CMAKE
+                ros2sensors_tests_files.cmake
+            INCLUDE_DIRECTORIES
+                PRIVATE
+                    Tests
+                    Source
+                    Include
+            BUILD_DEPENDENCIES
+                PRIVATE
+                    AZ::AzTest
+                    AZ::AzFramework
+                    Gem::${gem_name}.Private.Object
+        )
+
+        # Add ${gem_name}.Tests to googletest
+        ly_add_googletest(
+            NAME Gem::${gem_name}.Tests
+        )
+    endif()
+
+    # If we are a host platform we want to add tools test like editor tests here
+    if(PAL_TRAIT_BUILD_HOST_TOOLS)
+        # We are a host platform, see if Editor tests are supported on this platform
+        if(PAL_TRAIT_ROS2SENSORS_EDITOR_TEST_SUPPORTED)
+            # We support ${gem_name}.Editor.Tests on this platform, add ${gem_name}.Editor.Tests target which depends on
+            # private ${gem_name}.Editor.Private.Object target
+            ly_add_target(
+                NAME ${gem_name}.Editor.Tests ${PAL_TRAIT_TEST_TARGET_TYPE}
+                NAMESPACE Gem
+                FILES_CMAKE
+                    ros2sensors_editor_tests_files.cmake
+                INCLUDE_DIRECTORIES
+                    PRIVATE
+                        Tests
+                        Source
+                        Include
+                BUILD_DEPENDENCIES
+                    PRIVATE
+                        AZ::AzTest
+                        Gem::${gem_name}.Editor.Private.Object
+            )
+
+            # Add ${gem_name}.Editor.Tests to googletest
+            ly_add_googletest(
+                NAME Gem::${gem_name}.Editor.Tests
+            )
+        endif()
+    endif()
+endif()

+ 0 - 0
Gems/ROS2/Code/Include/ROS2/Camera/CameraCalibrationRequestBus.h → Gems/ROS2Sensors/Code/Include/ROS2Sensors/Camera/CameraCalibrationRequestBus.h


+ 0 - 0
Gems/ROS2/Code/Include/ROS2/Camera/CameraPostProcessingRequestBus.h → Gems/ROS2Sensors/Code/Include/ROS2Sensors/Camera/CameraPostProcessingRequestBus.h


+ 0 - 0
Gems/ROS2/Code/Include/ROS2/GNSS/GNSSPostProcessingRequestBus.h → Gems/ROS2Sensors/Code/Include/ROS2Sensors/GNSS/GNSSPostProcessingRequestBus.h


+ 1 - 1
Gems/ROS2/Code/Include/ROS2/Lidar/ClassSegmentationBus.h → Gems/ROS2Sensors/Code/Include/ROS2Sensors/Lidar/ClassSegmentationBus.h

@@ -12,7 +12,7 @@
 #include <AzCore/Interface/Interface.h>
 #include <AzCore/Interface/Interface.h>
 #include <AzCore/Math/Color.h>
 #include <AzCore/Math/Color.h>
 #include <LmbrCentral/Scripting/TagComponentBus.h>
 #include <LmbrCentral/Scripting/TagComponentBus.h>
-#include <ROS2/Lidar/SegmentationClassConfiguration.h>
+#include <ROS2Sensors/Lidar/SegmentationClassConfiguration.h>
 
 
 namespace ROS2
 namespace ROS2
 {
 {

+ 1 - 1
Gems/ROS2/Code/Include/ROS2/Lidar/LidarRaycasterBus.h → Gems/ROS2Sensors/Code/Include/ROS2Sensors/Lidar/LidarRaycasterBus.h

@@ -13,7 +13,7 @@
 #include <AzCore/Math/Vector3.h>
 #include <AzCore/Math/Vector3.h>
 #include <AzCore/Outcome/Outcome.h>
 #include <AzCore/Outcome/Outcome.h>
 #include <ROS2/Communication/QoS.h>
 #include <ROS2/Communication/QoS.h>
-#include <ROS2/Lidar/RaycastResults.h>
+#include <ROS2Sensors/Lidar/RaycastResults.h>
 
 
 namespace ROS2
 namespace ROS2
 {
 {

+ 0 - 0
Gems/ROS2/Code/Include/ROS2/Lidar/LidarRegistrarBus.h → Gems/ROS2Sensors/Code/Include/ROS2Sensors/Lidar/LidarRegistrarBus.h


+ 1 - 1
Gems/ROS2/Code/Include/ROS2/Lidar/LidarSystemBus.h → Gems/ROS2Sensors/Code/Include/ROS2Sensors/Lidar/LidarSystemBus.h

@@ -9,7 +9,7 @@
 
 
 #include <AzCore/Component/EntityId.h>
 #include <AzCore/Component/EntityId.h>
 #include <AzCore/EBus/EBus.h>
 #include <AzCore/EBus/EBus.h>
-#include <ROS2/Lidar/LidarRaycasterBus.h>
+#include <ROS2Sensors/Lidar/LidarRaycasterBus.h>
 
 
 namespace ROS2
 namespace ROS2
 {
 {

+ 0 - 0
Gems/ROS2/Code/Include/ROS2/Lidar/RaycastResults.h → Gems/ROS2Sensors/Code/Include/ROS2Sensors/Lidar/RaycastResults.h


+ 0 - 0
Gems/ROS2/Code/Include/ROS2/Lidar/SegmentationClassConfiguration.h → Gems/ROS2Sensors/Code/Include/ROS2Sensors/Lidar/SegmentationClassConfiguration.h


+ 0 - 0
Gems/ROS2/Code/Include/ROS2/Lidar/SegmentationUtils.h → Gems/ROS2Sensors/Code/Include/ROS2Sensors/Lidar/SegmentationUtils.h


+ 44 - 0
Gems/ROS2Sensors/Code/Include/ROS2Sensors/ROS2SensorsTypeIds.h

@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) Contributors to the Open 3D Engine Project.
+ * For complete copyright and license terms please see the LICENSE at the root of this distribution.
+ *
+ * SPDX-License-Identifier: Apache-2.0 OR MIT
+ *
+ */
+
+#pragma once
+
+namespace ROS2Sensors
+{
+    // System Component TypeIds
+    inline constexpr const char* ROS2SensorsSystemComponentTypeId = "{ECA6DB16-1F77-4098-956E-F1463B95AE15}";
+    inline constexpr const char* ROS2SensorsEditorSystemComponentTypeId = "{F6A1AE53-0ACE-4425-AABB-C338A74CA6F1}";
+
+    // Module derived classes TypeIds
+    inline constexpr const char* ROS2SensorsModuleInterfaceTypeId = "{2A5B29DE-6056-4553-8C50-F7DDC8F1D4D0}";
+    inline constexpr const char* ROS2SensorsModuleTypeId = "{5607AC61-7364-4690-9DF6-6265EAC0C1DB}";
+    // The Editor Module by default is mutually exclusive with the Client Module
+    // so they use the Same TypeId
+    inline constexpr const char* ROS2SensorsEditorModuleTypeId = ROS2SensorsModuleTypeId;
+
+    // System Sensor Components TypeIds
+    inline constexpr const char* ROS2SystemCameraComponentTypeId = "{B4665D39-78FD-40DE-8518-2F6BD345A831}";
+    inline constexpr const char* ROS2EditorCameraSystemComponentTypeId = "{407F51C0-92C9-11EE-B9D1-0242AC120002}";
+    inline constexpr const char* LidarRegistrarSystemComponentTypeId = "{78CBA3F1-DB2C-46DE-9C3D-C40DD72F2F1E}";
+    inline constexpr const char* LidarRegistrarEditorSystemComponentTypeId = "{7F11B599-5ACE-4498-A9A4-AD280C92BACC}";
+
+    // Sensor Components TypeIds
+    inline constexpr const char* ROS2CameraSensorComponentTypeId = "{3C6B8AE6-9721-4639-B8F9-D8D28FD7A071}";
+    inline constexpr const char* ROS2ContactSensorComponentTypeId = "{91272e66-c9f1-4aa2-a9d5-98eaa4ef4e9a}";
+    inline constexpr const char* ROS2GNSSSensorComponentTypeId = "{55B4A299-7FA3-496A-88F0-764C75B0E9A7}";
+    inline constexpr const char* ROS2ImuSensorComponentTypeId = "{502A955E-7742-4E23-AD77-5E4063739DCA}";
+    inline constexpr const char* ROS2LidarSensorComponentTypeId = "{502A955F-7742-4E23-AD77-5E4063739DCA}";
+    inline constexpr const char* ROS2Lidar2DSensorComponentTypeId = "{F4C2D970-1D69-40F2-9D4D-B52DCFDD2704}";
+    inline constexpr const char* ROS2WheelOdometryComponentTypeId = "{9bdb8c23-ac76-4c25-8d35-37aaa9f43fac}";
+    inline constexpr const char* ROS2OdometrySensorComponent = "{61387448-63AA-4563-AF87-60C72B05B863}";
+
+    // Sensors Components Tools TypeIds
+    inline constexpr const char* ClassSegmentationConfigurationComponentTypeId = "{BAB1EA0C-7456-40EA-BC1E-71697137c27c}";
+    inline constexpr const char* ROS2ImageEncodingConversionComponentTypeId = "{12449810-D179-44F1-8F72-22D8d3fa4460}";
+    inline constexpr const char* EncodingConversionTypeId = "{DB361ADC-B339-4A4E-A10B-C6BF6791EDA6}";
+} // namespace ROS2Sensors

+ 3 - 3
Gems/ROS2/Code/Include/ROS2/Sensor/ROS2SensorComponentBase.h → Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/ROS2SensorComponentBase.h

@@ -12,10 +12,10 @@
 #include <AzCore/Serialization/EditContext.h>
 #include <AzCore/Serialization/EditContext.h>
 #include <ROS2/Frame/ROS2FrameComponent.h>
 #include <ROS2/Frame/ROS2FrameComponent.h>
 #include <ROS2/ROS2GemUtilities.h>
 #include <ROS2/ROS2GemUtilities.h>
-#include <ROS2/ROS2SensorTypesIds.h>
 #include <ROS2/Sensor/Events/EventSourceAdapter.h>
 #include <ROS2/Sensor/Events/EventSourceAdapter.h>
-#include <ROS2/Sensor/SensorConfiguration.h>
-#include <ROS2/Sensor/SensorConfigurationRequestBus.h>
+#include <ROS2Sensors/ROS2SensorsTypeIds.h>
+#include <ROS2Sensors/Sensor/SensorConfiguration.h>
+#include <ROS2Sensors/Sensor/SensorConfigurationRequestBus.h>
 
 
 namespace ROS2
 namespace ROS2
 {
 {

+ 0 - 0
Gems/ROS2/Code/Include/ROS2/Sensor/SensorConfiguration.h → Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/SensorConfiguration.h


+ 1 - 1
Gems/ROS2/Code/Include/ROS2/Sensor/SensorConfigurationRequestBus.h → Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/SensorConfigurationRequestBus.h

@@ -11,7 +11,7 @@
 #include <AzCore/Component/EntityId.h>
 #include <AzCore/Component/EntityId.h>
 #include <AzCore/EBus/EBus.h>
 #include <AzCore/EBus/EBus.h>
 #include <AzCore/Interface/Interface.h>
 #include <AzCore/Interface/Interface.h>
-#include <ROS2/Sensor/SensorConfiguration.h>
+#include <ROS2Sensors/Sensor/SensorConfiguration.h>
 namespace ROS2
 namespace ROS2
 {
 {
     //! Interface that allows to get sensor configuration and switch publish state.
     //! Interface that allows to get sensor configuration and switch publish state.

+ 0 - 0
Gems/ROS2/Code/Include/ROS2/Sensor/SensorHelper.h → Gems/ROS2Sensors/Code/Include/ROS2Sensors/Sensor/SensorHelper.h


+ 11 - 0
Gems/ROS2Sensors/Code/Platform/Android/PAL_android.cmake

@@ -0,0 +1,11 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+set(PAL_TRAIT_ROS2SENSORS_SUPPORTED TRUE)
+set(PAL_TRAIT_ROS2SENSORS_TEST_SUPPORTED FALSE)
+set(PAL_TRAIT_ROS2SENSORS_EDITOR_TEST_SUPPORTED FALSE)

+ 10 - 0
Gems/ROS2Sensors/Code/Platform/Android/ros2sensors_api_files.cmake

@@ -0,0 +1,10 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+set(FILES
+)

+ 15 - 0
Gems/ROS2Sensors/Code/Platform/Android/ros2sensors_private_files.cmake

@@ -0,0 +1,15 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+# Platform specific files for Android
+# i.e. ../Source/Android/ROS2SensorsAndroid.cpp
+#      ../Source/Android/ROS2SensorsAndroid.h
+#      ../Include/Android/ROS2SensorsAndroid.h
+
+set(FILES
+)

+ 15 - 0
Gems/ROS2Sensors/Code/Platform/Android/ros2sensors_shared_files.cmake

@@ -0,0 +1,15 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+# Platform specific files for Android
+# i.e. ../Source/Android/ROS2SensorsAndroid.cpp
+#      ../Source/Android/ROS2SensorsAndroid.h
+#      ../Include/Android/ROS2SensorsAndroid.h
+
+set(FILES
+)

+ 11 - 0
Gems/ROS2Sensors/Code/Platform/Linux/PAL_linux.cmake

@@ -0,0 +1,11 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+set(PAL_TRAIT_ROS2SENSORS_SUPPORTED TRUE)
+set(PAL_TRAIT_ROS2SENSORS_TEST_SUPPORTED FALSE)
+set(PAL_TRAIT_ROS2SENSORS_EDITOR_TEST_SUPPORTED FALSE)

+ 10 - 0
Gems/ROS2Sensors/Code/Platform/Linux/ros2sensors_api_files.cmake

@@ -0,0 +1,10 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+set(FILES
+)

+ 10 - 0
Gems/ROS2Sensors/Code/Platform/Linux/ros2sensors_editor_api_files.cmake

@@ -0,0 +1,10 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+set(FILES
+)

+ 15 - 0
Gems/ROS2Sensors/Code/Platform/Linux/ros2sensors_private_files.cmake

@@ -0,0 +1,15 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+# Platform specific files for Linux
+# i.e. ../Source/Linux/ROS2SensorsLinux.cpp
+#      ../Source/Linux/ROS2SensorsLinux.h
+#      ../Include/Linux/ROS2SensorsLinux.h
+
+set(FILES
+)

+ 15 - 0
Gems/ROS2Sensors/Code/Platform/Linux/ros2sensors_shared_files.cmake

@@ -0,0 +1,15 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+# Platform specific files for Linux
+# i.e. ../Source/Linux/ROS2SensorsLinux.cpp
+#      ../Source/Linux/ROS2SensorsLinux.h
+#      ../Include/Linux/ROS2SensorsLinux.h
+
+set(FILES
+)

+ 11 - 0
Gems/ROS2Sensors/Code/Platform/Mac/PAL_mac.cmake

@@ -0,0 +1,11 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+set(PAL_TRAIT_ROS2SENSORS_SUPPORTED TRUE)
+set(PAL_TRAIT_ROS2SENSORS_TEST_SUPPORTED FALSE)
+set(PAL_TRAIT_ROS2SENSORS_EDITOR_TEST_SUPPORTED FALSE)

+ 10 - 0
Gems/ROS2Sensors/Code/Platform/Mac/ros2sensors_api_files.cmake

@@ -0,0 +1,10 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+set(FILES
+)

+ 10 - 0
Gems/ROS2Sensors/Code/Platform/Mac/ros2sensors_editor_api_files.cmake

@@ -0,0 +1,10 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+set(FILES
+)

+ 15 - 0
Gems/ROS2Sensors/Code/Platform/Mac/ros2sensors_private_files.cmake

@@ -0,0 +1,15 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+# Platform specific files for Mac
+# i.e. ../Source/Mac/ROS2SensorsMac.cpp
+#      ../Source/Mac/ROS2SensorsMac.h
+#      ../Include/Mac/ROS2SensorsMac.h
+
+set(FILES
+)

+ 15 - 0
Gems/ROS2Sensors/Code/Platform/Mac/ros2sensors_shared_files.cmake

@@ -0,0 +1,15 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+# Platform specific files for Mac
+# i.e. ../Source/Mac/ROS2SensorsMac.cpp
+#      ../Source/Mac/ROS2SensorsMac.h
+#      ../Include/Mac/ROS2SensorsMac.h
+
+set(FILES
+)

+ 11 - 0
Gems/ROS2Sensors/Code/Platform/Windows/PAL_windows.cmake

@@ -0,0 +1,11 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+set(PAL_TRAIT_ROS2SENSORS_SUPPORTED TRUE)
+set(PAL_TRAIT_ROS2SENSORS_TEST_SUPPORTED FALSE)
+set(PAL_TRAIT_ROS2SENSORS_EDITOR_TEST_SUPPORTED FALSE)

+ 10 - 0
Gems/ROS2Sensors/Code/Platform/Windows/ros2sensors_api_files.cmake

@@ -0,0 +1,10 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+set(FILES
+)

+ 10 - 0
Gems/ROS2Sensors/Code/Platform/Windows/ros2sensors_editor_api_files.cmake

@@ -0,0 +1,10 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+set(FILES
+)

+ 15 - 0
Gems/ROS2Sensors/Code/Platform/Windows/ros2sensors_private_files.cmake

@@ -0,0 +1,15 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+# Platform specific files for Windows
+# i.e. ../Source/Windows/ROS2SensorsWindows.cpp
+#      ../Source/Windows/ROS2SensorsWindows.h
+#      ../Include/Windows/ROS2SensorsWindows.h
+
+set(FILES
+)

+ 15 - 0
Gems/ROS2Sensors/Code/Platform/Windows/ros2sensors_shared_files.cmake

@@ -0,0 +1,15 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+# Platform specific files for Windows
+# i.e. ../Source/Windows/ROS2SensorsWindows.cpp
+#      ../Source/Windows/ROS2SensorsWindows.h
+#      ../Include/Windows/ROS2SensorsWindows.h
+
+set(FILES
+)

+ 11 - 0
Gems/ROS2Sensors/Code/Platform/iOS/PAL_ios.cmake

@@ -0,0 +1,11 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+set(PAL_TRAIT_ROS2SENSORS_SUPPORTED TRUE)
+set(PAL_TRAIT_ROS2SENSORS_TEST_SUPPORTED FALSE)
+set(PAL_TRAIT_ROS2SENSORS_EDITOR_TEST_SUPPORTED FALSE)

+ 11 - 0
Gems/ROS2Sensors/Code/Platform/iOS/ros2sensors_api_files.cmake

@@ -0,0 +1,11 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+
+set(FILES
+)

+ 15 - 0
Gems/ROS2Sensors/Code/Platform/iOS/ros2sensors_private_files.cmake

@@ -0,0 +1,15 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+# Platform specific files for iOS
+# i.e. ../Source/iOS/ROS2SensorsiOS.cpp
+#      ../Source/iOS/ROS2SensorsiOS.h
+#      ../Include/iOS/ROS2SensorsiOS.h
+
+set(FILES
+)

+ 15 - 0
Gems/ROS2Sensors/Code/Platform/iOS/ros2sensors_shared_files.cmake

@@ -0,0 +1,15 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+# Platform specific files for iOS
+# i.e. ../Source/iOS/ROS2SensorsiOS.cpp
+#      ../Source/iOS/ROS2SensorsiOS.h
+#      ../Include/iOS/ROS2SensorsiOS.h
+
+set(FILES
+)

+ 0 - 0
Gems/ROS2/Code/Source/Camera/CameraConstants.h → Gems/ROS2Sensors/Code/Source/Camera/CameraConstants.h


+ 1 - 1
Gems/ROS2/Code/Source/Camera/CameraPublishers.cpp → Gems/ROS2Sensors/Code/Source/Camera/CameraPublishers.cpp

@@ -11,8 +11,8 @@
 #include "CameraSensor.h"
 #include "CameraSensor.h"
 #include <ROS2/Communication/TopicConfiguration.h>
 #include <ROS2/Communication/TopicConfiguration.h>
 #include <ROS2/ROS2Bus.h>
 #include <ROS2/ROS2Bus.h>
-#include <ROS2/Sensor/SensorConfiguration.h>
 #include <ROS2/Utilities/ROS2Names.h>
 #include <ROS2/Utilities/ROS2Names.h>
+#include <ROS2Sensors/Sensor/SensorConfiguration.h>
 
 
 namespace ROS2
 namespace ROS2
 {
 {

+ 0 - 0
Gems/ROS2/Code/Source/Camera/CameraPublishers.h → Gems/ROS2Sensors/Code/Source/Camera/CameraPublishers.h


+ 1 - 1
Gems/ROS2/Code/Source/Camera/CameraSensor.cpp → Gems/ROS2Sensors/Code/Source/Camera/CameraSensor.cpp

@@ -6,7 +6,7 @@
  *
  *
  */
  */
 #include "CameraSensor.h"
 #include "CameraSensor.h"
-#include <ROS2/Camera/CameraPostProcessingRequestBus.h>
+#include <ROS2Sensors/Camera/CameraPostProcessingRequestBus.h>
 
 
 #include <Atom/Feature/PostProcess/PostProcessFeatureProcessorInterface.h>
 #include <Atom/Feature/PostProcess/PostProcessFeatureProcessorInterface.h>
 #include <Atom/RPI.Public/Base.h>
 #include <Atom/RPI.Public/Base.h>

+ 0 - 0
Gems/ROS2/Code/Source/Camera/CameraSensor.h → Gems/ROS2Sensors/Code/Source/Camera/CameraSensor.h


+ 0 - 0
Gems/ROS2/Code/Source/Camera/CameraSensorConfiguration.cpp → Gems/ROS2Sensors/Code/Source/Camera/CameraSensorConfiguration.cpp


+ 0 - 0
Gems/ROS2/Code/Source/Camera/CameraSensorConfiguration.h → Gems/ROS2Sensors/Code/Source/Camera/CameraSensorConfiguration.h


+ 0 - 0
Gems/ROS2/Code/Source/Camera/CameraSensorDescription.cpp → Gems/ROS2Sensors/Code/Source/Camera/CameraSensorDescription.cpp


+ 1 - 1
Gems/ROS2/Code/Source/Camera/CameraSensorDescription.h → Gems/ROS2Sensors/Code/Source/Camera/CameraSensorDescription.h

@@ -8,7 +8,7 @@
 #pragma once
 #pragma once
 
 
 #include "CameraSensorConfiguration.h"
 #include "CameraSensorConfiguration.h"
-#include <ROS2/Sensor/SensorConfiguration.h>
+#include <ROS2Sensors/Sensor/SensorConfiguration.h>
 
 
 #include <AzCore/Math/Matrix4x4.h>
 #include <AzCore/Math/Matrix4x4.h>
 #include <AzCore/std/containers/array.h>
 #include <AzCore/std/containers/array.h>

+ 0 - 0
Gems/ROS2/Code/Source/Camera/CameraUtilities.cpp → Gems/ROS2Sensors/Code/Source/Camera/CameraUtilities.cpp


+ 0 - 0
Gems/ROS2/Code/Source/Camera/CameraUtilities.h → Gems/ROS2Sensors/Code/Source/Camera/CameraUtilities.h


+ 0 - 0
Gems/ROS2/Code/Source/Camera/PostProcessing/ROS2ImageEncodingConversionComponent.cpp → Gems/ROS2Sensors/Code/Source/Camera/PostProcessing/ROS2ImageEncodingConversionComponent.cpp


+ 4 - 3
Gems/ROS2/Code/Source/Camera/PostProcessing/ROS2ImageEncodingConversionComponent.h → Gems/ROS2Sensors/Code/Source/Camera/PostProcessing/ROS2ImageEncodingConversionComponent.h

@@ -10,7 +10,8 @@
 
 
 #include <AzCore/Component/Component.h>
 #include <AzCore/Component/Component.h>
 #include <AzCore/RTTI/TypeInfoSimple.h>
 #include <AzCore/RTTI/TypeInfoSimple.h>
-#include <ROS2/Camera/CameraPostProcessingRequestBus.h>
+#include <ROS2Sensors/Camera/CameraPostProcessingRequestBus.h>
+#include <ROS2Sensors/ROS2SensorsTypeIds.h>
 
 
 namespace ROS2
 namespace ROS2
 {
 {
@@ -24,7 +25,7 @@ namespace ROS2
 
 
     struct EncodingConversion
     struct EncodingConversion
     {
     {
-        AZ_TYPE_INFO(EncodingConversion, "{db361adc-b339-4a4e-a10b-c6bf6791eda6}");
+        AZ_TYPE_INFO(EncodingConversion, ROS2Sensors::EncodingConversionTypeId);
         static void Reflect(AZ::ReflectContext* context);
         static void Reflect(AZ::ReflectContext* context);
         AZ::Outcome<void, AZStd::string> ValidateInputEncoding(void* newValue, const AZ::Uuid& valueType);
         AZ::Outcome<void, AZStd::string> ValidateInputEncoding(void* newValue, const AZ::Uuid& valueType);
         AZ::Outcome<void, AZStd::string> ValidateOutputEncoding(void* newValue, const AZ::Uuid& valueType);
         AZ::Outcome<void, AZStd::string> ValidateOutputEncoding(void* newValue, const AZ::Uuid& valueType);
@@ -44,7 +45,7 @@ namespace ROS2
         , public CameraPostProcessingRequestBus::Handler
         , public CameraPostProcessingRequestBus::Handler
     {
     {
     public:
     public:
-        AZ_COMPONENT(ROS2ImageEncodingConversionComponent, "12449810-d179-44f1-8f72-22d8d3fa4460");
+        AZ_COMPONENT(ROS2ImageEncodingConversionComponent, ROS2Sensors::ROS2ImageEncodingConversionComponentTypeId, AZ::Component);
         static void Reflect(AZ::ReflectContext* context);
         static void Reflect(AZ::ReflectContext* context);
 
 
         ROS2ImageEncodingConversionComponent() = default;
         ROS2ImageEncodingConversionComponent() = default;

+ 0 - 0
Gems/ROS2/Code/Source/Camera/ROS2CameraSensorComponent.cpp → Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.cpp


+ 4 - 4
Gems/ROS2/Code/Source/Camera/ROS2CameraSensorComponent.h → Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorComponent.h

@@ -16,11 +16,11 @@
 
 
 #include "CameraSensor.h"
 #include "CameraSensor.h"
 #include "CameraSensorConfiguration.h"
 #include "CameraSensorConfiguration.h"
-#include <ROS2/Camera/CameraCalibrationRequestBus.h>
 #include <ROS2/ROS2Bus.h>
 #include <ROS2/ROS2Bus.h>
-#include <ROS2/ROS2SensorTypesIds.h>
 #include <ROS2/Sensor/Events/TickBasedSource.h>
 #include <ROS2/Sensor/Events/TickBasedSource.h>
-#include <ROS2/Sensor/ROS2SensorComponentBase.h>
+#include <ROS2Sensors/Camera/CameraCalibrationRequestBus.h>
+#include <ROS2Sensors/ROS2SensorsTypeIds.h>
+#include <ROS2Sensors/Sensor/ROS2SensorComponentBase.h>
 
 
 namespace ROS2
 namespace ROS2
 {
 {
@@ -43,7 +43,7 @@ namespace ROS2
         static void GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided);
         static void GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided);
         ~ROS2CameraSensorComponent() override = default;
         ~ROS2CameraSensorComponent() override = default;
 
 
-        AZ_COMPONENT(ROS2CameraSensorComponent, ROS2CameraSensorComponentTypeId, SensorBaseType);
+        AZ_COMPONENT(ROS2CameraSensorComponent, ROS2Sensors::ROS2CameraSensorComponentTypeId, SensorBaseType);
         static void Reflect(AZ::ReflectContext* context);
         static void Reflect(AZ::ReflectContext* context);
 
 
         // AzToolsFramework::Components::EditorComponentBase overrides ..
         // AzToolsFramework::Components::EditorComponentBase overrides ..

+ 0 - 0
Gems/ROS2/Code/Source/Camera/ROS2CameraSensorEditorComponent.cpp → Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorEditorComponent.cpp


+ 2 - 2
Gems/ROS2/Code/Source/Camera/ROS2CameraSensorEditorComponent.h → Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSensorEditorComponent.h

@@ -13,10 +13,10 @@
 #include <AzToolsFramework/ToolsComponents/EditorComponentBase.h>
 #include <AzToolsFramework/ToolsComponents/EditorComponentBase.h>
 
 
 #include "CameraSensorConfiguration.h"
 #include "CameraSensorConfiguration.h"
-#include <ROS2/Camera/CameraCalibrationRequestBus.h>
 #include <ROS2/Frame/NamespaceConfiguration.h>
 #include <ROS2/Frame/NamespaceConfiguration.h>
 #include <ROS2/Frame/ROS2Transform.h>
 #include <ROS2/Frame/ROS2Transform.h>
-#include <ROS2/Sensor/SensorConfiguration.h>
+#include <ROS2Sensors/Camera/CameraCalibrationRequestBus.h>
+#include <ROS2Sensors/Sensor/SensorConfiguration.h>
 
 
 namespace ROS2
 namespace ROS2
 {
 {

+ 0 - 0
Gems/ROS2/Code/Source/Camera/ROS2CameraSystemComponent.cpp → Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSystemComponent.cpp


+ 42 - 0
Gems/ROS2Sensors/Code/Source/Camera/ROS2CameraSystemComponent.h

@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) Contributors to the Open 3D Engine Project.
+ * For complete copyright and license terms please see the LICENSE at the root of this distribution.
+ *
+ * SPDX-License-Identifier: Apache-2.0 OR MIT
+ *
+ */
+#pragma once
+
+#include <Atom/RPI.Public/Pass/PassSystemInterface.h>
+#include <AzCore/Component/Component.h>
+#include <ROS2Sensors/ROS2SensorsTypeIds.h>
+
+namespace ROS2
+{
+    //! System Component for Camera simulation in ROS 2.
+    class ROS2SystemCameraComponent : public AZ::Component
+    {
+    public:
+        AZ_COMPONENT(ROS2SystemCameraComponent, ROS2Sensors::ROS2SystemCameraComponentTypeId, AZ::Component);
+
+        static void Reflect(AZ::ReflectContext* context);
+
+        static void GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided);
+        static void GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& incompatible);
+        static void GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required);
+
+        void InitPassTemplateMappingsHandler();
+
+    protected:
+        ////////////////////////////////////////////////////////////////////////
+        // AZ::Component override
+        void Activate() override;
+        void Deactivate() override;
+        ////////////////////////////////////////////////////////////////////////
+
+    private:
+        //! Load the pass templates of the ROS 2 Camera.
+        void LoadPassTemplateMappings();
+        AZ::RPI::PassSystemInterface::OnReadyLoadTemplatesEvent::Handler m_loadTemplatesHandler;
+    };
+} // namespace ROS2

+ 0 - 0
Gems/ROS2/Code/Source/Camera/ROS2EditorCameraSystemComponent.cpp → Gems/ROS2Sensors/Code/Source/Camera/ROS2EditorCameraSystemComponent.cpp


+ 2 - 1
Gems/ROS2/Code/Source/Camera/ROS2EditorCameraSystemComponent.h → Gems/ROS2Sensors/Code/Source/Camera/ROS2EditorCameraSystemComponent.h

@@ -10,6 +10,7 @@
 #include "ROS2CameraSystemComponent.h"
 #include "ROS2CameraSystemComponent.h"
 
 
 #include <AzToolsFramework/Entity/EditorEntityContextBus.h>
 #include <AzToolsFramework/Entity/EditorEntityContextBus.h>
+#include <ROS2Sensors/ROS2SensorsTypeIds.h>
 
 
 namespace ROS2
 namespace ROS2
 {
 {
@@ -21,7 +22,7 @@ namespace ROS2
         using BaseSystemComponent = ROS2SystemCameraComponent;
         using BaseSystemComponent = ROS2SystemCameraComponent;
 
 
     public:
     public:
-        AZ_COMPONENT(ROS2EditorCameraSystemComponent, "{407f51c0-92c9-11ee-b9d1-0242ac120002}", BaseSystemComponent);
+        AZ_COMPONENT(ROS2EditorCameraSystemComponent, ROS2Sensors::ROS2EditorCameraSystemComponentTypeId, BaseSystemComponent);
         static void Reflect(AZ::ReflectContext* context);
         static void Reflect(AZ::ReflectContext* context);
 
 
     private:
     private:

+ 27 - 0
Gems/ROS2Sensors/Code/Source/Clients/ROS2SensorsModule.cpp

@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) Contributors to the Open 3D Engine Project.
+ * For complete copyright and license terms please see the LICENSE at the root of this distribution.
+ *
+ * SPDX-License-Identifier: Apache-2.0 OR MIT
+ *
+ */
+
+#include "ROS2SensorsSystemComponent.h"
+#include <ROS2Sensors/ROS2SensorsTypeIds.h>
+#include <ROS2SensorsModuleInterface.h>
+
+namespace ROS2Sensors
+{
+    class ROS2SensorsModule : public ROS2SensorsModuleInterface
+    {
+    public:
+        AZ_RTTI(ROS2SensorsModule, ROS2SensorsModuleTypeId, ROS2SensorsModuleInterface);
+        AZ_CLASS_ALLOCATOR(ROS2SensorsModule, AZ::SystemAllocator);
+    };
+} // namespace ROS2Sensors
+
+#if defined(O3DE_GEM_NAME)
+AZ_DECLARE_MODULE_CLASS(AZ_JOIN(Gem_, O3DE_GEM_NAME), ROS2Sensors::ROS2SensorsModule)
+#else
+AZ_DECLARE_MODULE_CLASS(Gem_ROS2Sensors, ROS2Sensors::ROS2SensorsModule)
+#endif

+ 51 - 0
Gems/ROS2Sensors/Code/Source/Clients/ROS2SensorsSystemComponent.cpp

@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) Contributors to the Open 3D Engine Project.
+ * For complete copyright and license terms please see the LICENSE at the root of this distribution.
+ *
+ * SPDX-License-Identifier: Apache-2.0 OR MIT
+ *
+ */
+
+#include "ROS2SensorsSystemComponent.h"
+
+#include <AzCore/Serialization/SerializeContext.h>
+#include <ROS2Sensors/ROS2SensorsTypeIds.h>
+
+#include <Lidar/LidarCore.h>
+#include <ROS2Sensors/Sensor/SensorConfiguration.h>
+
+namespace ROS2Sensors
+{
+    AZ_COMPONENT_IMPL(ROS2SensorsSystemComponent, "ROS2SensorsSystemComponent", ROS2SensorsSystemComponentTypeId);
+
+    void ROS2SensorsSystemComponent::Reflect(AZ::ReflectContext* context)
+    {
+        // Reflect structs not strictly owned by any single component
+        ROS2::LidarCore::Reflect(context);
+        ROS2::SensorConfiguration::Reflect(context);
+
+        if (auto serializeContext = azrtti_cast<AZ::SerializeContext*>(context))
+        {
+            serializeContext->Class<ROS2SensorsSystemComponent, AZ::Component>()->Version(0);
+        }
+    }
+
+    void ROS2SensorsSystemComponent::GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided)
+    {
+        provided.push_back(AZ_CRC_CE("ROS2SensorsService"));
+    }
+
+    void ROS2SensorsSystemComponent::GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& incompatible)
+    {
+        incompatible.push_back(AZ_CRC_CE("ROS2SensorsService"));
+    }
+
+    void ROS2SensorsSystemComponent::GetRequiredServices([[maybe_unused]] AZ::ComponentDescriptor::DependencyArrayType& required)
+    {
+    }
+
+    void ROS2SensorsSystemComponent::GetDependentServices([[maybe_unused]] AZ::ComponentDescriptor::DependencyArrayType& dependent)
+    {
+    }
+
+} // namespace ROS2Sensors

Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff