Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

feat(operation_mode_transition_manager): support ad api #1535

Merged
Show file tree
Hide file tree
Changes from 32 commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
ff081d9
feat(operation_mode_transition_manager): support ad api
isamu-takagi Aug 8, 2022
2076df8
fix: merge operation mode state message
isamu-takagi Aug 10, 2022
23982c2
feat(autoware_ad_api_msgs): define operation mode interface
isamu-takagi Aug 10, 2022
3772e2c
fix: add message
isamu-takagi Aug 10, 2022
381f362
Merge branch 'feature/ad-api/operation-mode-interface' into feature/a…
isamu-takagi Aug 10, 2022
c27f603
Update common/autoware_ad_api_msgs/operation_mode/msg/OperationModeSt…
isamu-takagi Aug 11, 2022
3ab7ff0
Update common/autoware_ad_api_msgs/operation_mode/msg/OperationModeSt…
isamu-takagi Aug 11, 2022
5c2d55e
Merge branch 'feature/ad-api/operation-mode-interface' into feature/a…
isamu-takagi Aug 12, 2022
42b44c3
feat: apply field name change
isamu-takagi Aug 12, 2022
d81ea85
Merge branch 'main' into feature/ad-api/operation-mode-interface
isamu-takagi Aug 26, 2022
b6939a1
Merge branch 'main' into feature/ad-api/operation-mode-interface
isamu-takagi Sep 1, 2022
fd6fd97
Merge branch 'main' into feature/ad-api/operation-mode-interface
isamu-takagi Sep 6, 2022
9532405
feat: move adapi message
isamu-takagi Sep 21, 2022
c849d6f
Merge branch 'main' into feature/ad-api/operation-mode-interface
isamu-takagi Sep 21, 2022
871bdc4
feat: change message type
isamu-takagi Sep 21, 2022
a5d329e
Merge branch 'main' into feature/ad-api/operation-mode-interface
isamu-takagi Oct 4, 2022
012fe63
Merge branch 'main' into feature/ad-api/operation-mode-interface
isamu-takagi Oct 5, 2022
eef98c5
Merge branch 'feature/ad-api/operation-mode-interface' into feature/a…
isamu-takagi Oct 11, 2022
5c98ab8
Merge branch 'main' into feature/ad-api/operation-mode-transition-man…
isamu-takagi Oct 19, 2022
355c7b1
Merge branch 'main' into feature/ad-api/operation-mode-transition-man…
isamu-takagi Oct 20, 2022
3baf2d9
Merge branch 'main' into feature/ad-api/operation-mode-transition-man…
isamu-takagi Oct 21, 2022
125b03e
fix: fix build error
isamu-takagi Oct 21, 2022
ff04257
Merge branch 'main' into feature/ad-api/operation-mode-transition-man…
isamu-takagi Oct 26, 2022
37f6545
fix: fix error message
isamu-takagi Oct 26, 2022
5002d54
Merge branch 'main' into feature/ad-api/operation-mode-transition-man…
isamu-takagi Nov 1, 2022
dac93ec
Merge branch 'feature/ad-api/operation-mode-transition-manager' of gi…
isamu-takagi Nov 2, 2022
65301f9
Merge branch 'main' into feature/ad-api/operation-mode-transition-man…
isamu-takagi Nov 2, 2022
b905f4f
WIP
isamu-takagi Nov 2, 2022
72c491f
feat: add compatibility
isamu-takagi Nov 7, 2022
039c672
fix: fix operation mode change when disable autoware control
isamu-takagi Nov 9, 2022
42d1fe4
fix: fix operation mode change when autoware control is disabled
isamu-takagi Nov 9, 2022
f280cda
Merge branch 'main' into feature/ad-api/operation-mode-transition-man…
isamu-takagi Nov 9, 2022
830faa0
Merge branch 'main' into feature/ad-api/operation-mode-transition-man…
isamu-takagi Nov 10, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -17,50 +17,53 @@

#include <autoware_adapi_v1_msgs/msg/response_status.hpp>

#include <stdexcept>
#include <exception>
#include <string>

namespace component_interface_utils
{

class ServiceException : public std::runtime_error
class ServiceException : public std::exception
{
public:
using ResponseStatus = autoware_adapi_v1_msgs::msg::ResponseStatus;
using ResponseStatusCode = ResponseStatus::_code_type;

ServiceException(ResponseStatusCode code, const std::string & message)
: std::runtime_error(message)
ServiceException(ResponseStatusCode code, const std::string & message, bool success = false)
{
success_ = success;
code_ = code;
message_ = message;
}

template <class T>
void set(T & status) const
{
status.success = false;
status.code = code_;
status.message = what();
status.message = message_;
}

ResponseStatus status() const
{
ResponseStatus status;
status.success = false;
status.code = code_;
status.message = what();
status.message = message_;
return status;
}

private:
bool success_;
ResponseStatusCode code_;
std::string message_;
};

class ServiceUnready : public ServiceException
{
public:
explicit ServiceUnready(const std::string & message)
: ServiceException(ResponseStatus::SERVICE_UNREADY, message)
: ServiceException(ResponseStatus::SERVICE_UNREADY, message, false)
{
}
};
Expand All @@ -69,7 +72,7 @@ class ServiceTimeout : public ServiceException
{
public:
explicit ServiceTimeout(const std::string & message)
: ServiceException(ResponseStatus::SERVICE_TIMEOUT, message)
: ServiceException(ResponseStatus::SERVICE_TIMEOUT, message, false)
{
}
};
Expand All @@ -78,7 +81,25 @@ class TransformError : public ServiceException
{
public:
explicit TransformError(const std::string & message)
: ServiceException(ResponseStatus::TRANSFORM_ERROR, message)
: ServiceException(ResponseStatus::TRANSFORM_ERROR, message, false)
{
}
};

class ParameterError : public ServiceException
{
public:
explicit ParameterError(const std::string & message)
: ServiceException(ResponseStatus::PARAMETER_ERROR, message, false)
{
}
};

class NoEffectWarning : public ServiceException
{
public:
explicit NoEffectWarning(const std::string & message)
: ServiceException(ResponseStatus::NO_EFFECT, message, true)
{
}
};
Expand Down
5 changes: 3 additions & 2 deletions control/operation_mode_transition_manager/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,10 @@ find_package(ament_cmake_auto REQUIRED)
ament_auto_find_build_dependencies()

ament_auto_add_library(operation_mode_transition_manager_node SHARED
src/operation_mode_transition_manager.cpp
src/state.cpp
src/compatibility.cpp
src/data.cpp
src/node.cpp
src/state.cpp
)

rclcpp_components_register_node(operation_mode_transition_manager_node
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/**:
ros__parameters:
transition_timeout: 3.0
frequency_hz: 10.0
engage_acceptable_limits:
allow_autonomous_in_stopped: true # no check if the velocity is zero, always allowed.
Expand Down

This file was deleted.

This file was deleted.

Loading