forked from ros-simulation/simulation_interfaces
-
Notifications
You must be signed in to change notification settings - Fork 0
Simulation interfaces: O3DE team feedback PR #1
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
Open
adamdbrw
wants to merge
33
commits into
main
Choose a base branch
from
simulation_interfaces
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 1 commit
Commits
Show all changes
33 commits
Select commit
Hold shift + click to select a range
5267ea2
simulation interfaces
adamdbrw 0cfd0fd
Apply suggestions from code review
adamdbrw d874c23
applied review suggestions
adamdbrw 10f59d2
added missing cmake entries
adamdbrw ea23f59
stepping service
adamdbrw 97b79f7
robot_namespace -> namespace
adamdbrw 8bae938
changed filter semantics to regex
adamdbrw 885a3fa
Updated EntityState and SpawnableBounds messages to address feedback
adamdbrw 53d6ee9
Added action for multi-stepping
adamdbrw aaee904
Added stepping alternatives documentation
adamdbrw df98b24
Added GetSimulatorFeatures interface
adamdbrw 4d551f1
Apply suggestions from code review
adamdbrw 95f46d9
Update srv/GetEntityState.srv
adamdbrw 0169e10
Code review improvements:
adamdbrw 1e92784
Apply suggestions from code review
adamdbrw 9bf757f
Revision following the review:
adamdbrw e94797f
Added sources field; documentation changes
adamdbrw eabed90
Update action/MultiStepSimulation.action
adamdbrw 271a8a1
Modified result handling and entity info, tags and categories
adamdbrw 9ec77e6
Apply suggestions from code review
adamdbrw 86ea8e0
Addressing review:
adamdbrw 9d123ed
Addressing review comments:
adamdbrw a940c65
Review comments applied:
adamdbrw aee7e79
Update msg/SimulationState.msg
adamdbrw 4497cbc
Apply suggestions from code review
adamdbrw af3ebff
Applied review comments:
adamdbrw 5f0aefb
corrected entities to strings
adamdbrw 5fe0d30
Update msg/Bounds.msg
adamdbrw eb6f27e
Applied review
adamdbrw e98721f
Applied review
adamdbrw 65a653f
feature naming fix
adamdbrw 4e6867d
Update srv/SetEntityState.srv
adamdbrw 2206c58
Update srv/SetEntityState.srv
adamdbrw File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
cmake_minimum_required(VERSION 3.8) | ||
project(simulation_interfaces) | ||
|
||
if(NOT CMAKE_CXX_STANDARD) | ||
set(CMAKE_CXX_STANDARD 17) | ||
set(CMAKE_CXX_STANDARD_REQUIRED ON) | ||
endif() | ||
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") | ||
add_compile_options(-Wall -Wextra -Wpedantic) | ||
endif() | ||
|
||
find_package(ament_cmake REQUIRED) | ||
find_package(builtin_interfaces REQUIRED) | ||
find_package(geometry_msgs REQUIRED) | ||
find_package(rosidl_default_generators REQUIRED) | ||
find_package(std_msgs REQUIRED) | ||
|
||
set(msg_files | ||
"msg/Entity.msg" | ||
"msg/EntityState.msg" | ||
"msg/Spawnable.msg" | ||
"msg/SpawnPose.msg" | ||
) | ||
|
||
set(srv_files | ||
"srv/DeleteEntity.srv" | ||
"srv/GetEntities.srv" | ||
"srv/GetEntityState.srv" | ||
"srv/GetSpawnables.srv" | ||
"srv/GetSpawnPoses.srv" | ||
"srv/ResetSimulation.srv" | ||
"srv/SetEntityState.srv" | ||
"srv/SetSimulationPaused.srv" | ||
"srv/SpawnEntity.srv" | ||
) | ||
|
||
rosidl_generate_interfaces(${PROJECT_NAME} | ||
${msg_files} | ||
${srv_files} | ||
DEPENDENCIES builtin_interfaces std_msgs geometry_msgs | ||
ADD_LINTER_TESTS | ||
) | ||
|
||
ament_export_dependencies(rosidl_default_runtime) | ||
|
||
ament_package() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,4 @@ | ||
# simulation_interfaces | ||
Standard interfaces for interacting with simulators from ROS 2 | ||
# Simulation Interfaces | ||
|
||
Standard ROS 2 interfaces for interacting with simulators. | ||
Messages and services are documented in their respective files. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# Entity ground truth state in the simulation | ||
|
||
string name # Entity's scoped, unique name (including namespace) | ||
string description # Optional: additional information about entity. | ||
EntityState state # Entity current state | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# Entity current pose and twist | ||
|
||
std_msgs/Header header # Frame and timestamp for pose and twist. Empty frame defaults world. | ||
geometry_msgs/Pose pose # Pose in reference frame, ground truth. | ||
geometry_msgs/Twist twist # Twist in reference frame, ground truth. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# A named spawn pose (point) | ||
|
||
string point_name # Name of a spawn point. | ||
string point_description # Description for the user, e.g. "near the charging station". | ||
geometry_msgs/Pose spawn_pose # Spawn point pose, which can be used with SpawnEntity.srv. | ||
geometry_msgs/Polygon bounds # Optional: limits of spawning area around pose, e.g. ground level. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# Robot or other object which can be spawned in simulation runtime. | ||
|
||
string uri # URI which will be accepted by SpawnEntity service. | ||
string description # Optional: description for the user, e.g. "robot X with sensors A,B,C". | ||
geometry_msgs/Polygon bounds # Optional: shape bounding the entity, e.g. to determine valid spawn poses. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
<?xml version="1.0"?> | ||
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?> | ||
<package format="3"> | ||
<name>simulation_interfaces</name> | ||
<version>1.0.0</version> | ||
<description>A package containing simulation interfaces including messages and services</description> | ||
<maintainer email="[email protected]">Adam Dabrowski</maintainer> | ||
<license>Apache License 2.0</license> | ||
<url type="repository">https://github.com/ros-simulation/simulation-interfaces</url> | ||
<author email="[email protected]">Adam Dabrowski</author> | ||
|
||
<buildtool_depend>ament_cmake</buildtool_depend> | ||
<buildtool_depend>rosidl_default_generators</buildtool_depend> | ||
|
||
<depend>builtin_interfaces</depend> | ||
<depend>geometry_msgs</depend> | ||
<depend>std_msgs</depend> | ||
|
||
<exec_depend>rosidl_default_runtime</exec_depend> | ||
|
||
<test_depend>ament_lint_common</test_depend> | ||
|
||
<member_of_group>rosidl_interface_packages</member_of_group> | ||
|
||
<export> | ||
<build_type>ament_cmake</build_type> | ||
</export> | ||
</package> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# Remove an entity (a robot, other object) by unique name from the simulation | ||
|
||
string name # Unique name with a namespace, as returned by SpawnEntity or GetEntities. | ||
|
||
--- | ||
|
||
bool success # return true if deleted successfully. | ||
string status_message # On failure, an user-ready error message. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
# Get objects in the scene which can be interacted, e.g. with using SetEntityState. | ||
|
||
string filter # Optional, defaults to empty. Return entities with matching names. | ||
|
||
--- | ||
|
||
Entity[] entities # All entities with names matching the filter, poses and twists. | ||
|
||
bool success # Return true if successful. | ||
string status_message # Additional comments or error status. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
# Get state of an object. Valid objects are on the list returned by GetEntities. | ||
|
||
string name # Unique name as returned by GetEntities / SpawnEntity. | ||
|
||
--- | ||
|
||
EntityState entity_state # Entity ground truth state including pose and twist. | ||
|
||
bool success # Return true if successful. | ||
string status_message # Additional comments or error status. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
# Get predefined spawn poses which is convenient to avoid spawning in invalid spaces. | ||
# This is an optional simulation feature: check status_message if you receive an empty spawn_poses vector, | ||
# to determine whether this feature is not supported by your simulator, or spawn poses are simply not defined. | ||
|
||
--- | ||
|
||
SpawnPose[] spawn_poses # A list of predefined spawn_poses, which may be empty. | ||
|
||
bool success # Return true if successful. | ||
string status_message # Additional comments or error status. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# Return a list of resources which are valid as SpawnEntity uri fields (e.g. visible to or registered in simulator). | ||
# This interface is an optional extension and might not be implemented by your simulator, check the status_message. | ||
|
||
--- | ||
|
||
Spawnable[] spawnables # Spawnable objects with URI and additional information. | ||
|
||
bool success # Return true if successful. | ||
string status_message # Additional comments or error status. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
# Reset the simulation to the start, including the entire scene and the simulation time. | ||
# Objects that were dynamically spawned are de-spawned. | ||
|
||
--- | ||
|
||
bool success # Return true if successful. | ||
string status_message # Additional comments or error status.. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# Set a state of an object, which will result in an instant change in its pose and/or twist. | ||
|
||
string name # Unique name as returned by GetEntities or SpawnEntity. | ||
EntityState state # New state to set immediately. The timestamp in header is ignored. | ||
|
||
--- | ||
|
||
bool success # Return true if successful. | ||
string status_message # Additional comments or error status. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# Pauses or unpauses the simulation | ||
|
||
bool pause # If true, sets simulation state to paused, otherwise sets it to running. | ||
# If already in target state, nothing happens but status_message informs about it. | ||
|
||
--- | ||
|
||
bool success # Return true if pausing / resuming was successful. | ||
string status_message # Additional comments or error status.. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# Spawn an entity (a robot, other object) by name or URI | ||
|
||
string name # Suggest a name to give to the spawned entity. If left empty, it will be generated. | ||
# Due to requirement for name uniqueness and the namespace, check the status_message | ||
# to get an actual unique name to use for further queries. | ||
string uri # Resource such as SDF or URDF file, or in native format such as prefab. | ||
# Valid URIs can be determined by calling GetSpawnables first, | ||
# if the feature is supported by your simulator. | ||
string robot_namespace # Spawn robot or another object with all its interfaces under this namespace. | ||
adamdbrw marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
string reference_frame # Optional initial pose reference frame. Defaults to global "world" frame. | ||
geometry_msgs/Pose initial_pose # Initial entity pose. | ||
|
||
--- | ||
|
||
bool success # Return true if spawned successfully. | ||
string status_message # Spawned entity full name (with namespace) on success or user-ready error message. |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.