-
Notifications
You must be signed in to change notification settings - Fork 9
Proposal for simulation interfaces #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
Merged
mjcarroll
merged 33 commits into
ros-simulation:main
from
adamdbrw:simulation_interfaces
Mar 21, 2025
Merged
Changes from all commits
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,66 @@ | ||
cmake_minimum_required(VERSION 3.16) | ||
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/Bounds.msg" | ||
"msg/EntityCategory.msg" | ||
"msg/EntityFilters.msg" | ||
"msg/EntityInfo.msg" | ||
"msg/EntityState.msg" | ||
"msg/NamedPose.msg" | ||
"msg/Result.msg" | ||
"msg/SimulationState.msg" | ||
"msg/SimulatorFeatures.msg" | ||
"msg/Spawnable.msg" | ||
"msg/TagsFilter.msg" | ||
) | ||
|
||
set(srv_files | ||
"srv/DeleteEntity.srv" | ||
"srv/GetEntities.srv" | ||
"srv/GetEntitiesStates.srv" | ||
"srv/GetEntityBounds.srv" | ||
"srv/GetEntityInfo.srv" | ||
"srv/GetEntityState.srv" | ||
"srv/GetNamedPoseBounds.srv" | ||
"srv/GetNamedPoses.srv" | ||
"srv/GetSimulationState.srv" | ||
"srv/GetSimulatorFeatures.srv" | ||
"srv/GetSpawnables.srv" | ||
"srv/ResetSimulation.srv" | ||
"srv/SetEntityInfo.srv" | ||
"srv/SetEntityState.srv" | ||
"srv/SetSimulationState.srv" | ||
"srv/SpawnEntity.srv" | ||
"srv/StepSimulation.srv" | ||
) | ||
|
||
set(action_files | ||
"action/SimulateSteps.action" | ||
) | ||
|
||
rosidl_generate_interfaces(${PROJECT_NAME} | ||
${msg_files} | ||
${srv_files} | ||
${action_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,25 @@ | ||
# simulation_interfaces | ||
Standard interfaces for interacting with simulators from ROS 2 | ||
# Simulation Interfaces | ||
|
||
Standard ROS 2 interfaces for interacting with simulators. | ||
Messages, services, and actions are documented in their respective files. | ||
|
||
## Result.msg | ||
|
||
The standard includes a generic message for handling service responses, [Result.msg](msg/Result.msg), | ||
which will likely not be included in the final version of the standard. Since it is generic, it will either be promoted to a common message or included in the | ||
service mechanism itself. | ||
|
||
## Suggested interface implementation priorities | ||
|
||
[GetSimulatorFeatures](msg/GetSimulationFeatures.msg) should be implemented first, as it provides users with information about | ||
the state of support for all standard simulation interfaces. | ||
|
||
Following that, aim for maintaining consistency within the implemented feature, such as enabling both | ||
_Get_ and _Set_ parts. | ||
|
||
Some interfaces represent optional utility and are considered lower priority: | ||
- [GetEntityBounds](srv/GetEntityBounds.srv) | ||
- [GetNamedPoseBounds](srv/GetNamedPoseBounds.srv) | ||
- [GetNamedPoses](srv/GetNamedPoses.srv) | ||
- [GetSpawnables](srv/GetSpawnables.srv) | ||
- [SetEntityInfo](srv/SetEntityInfo.srv) |
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,13 @@ | ||
# Assuming the simulation is paused, simulate a finite number of steps and return to paused state. | ||
# The action returns feedback after each complete step. | ||
# For a service alternative, see StepSimulation, which often makes more sense when doing a single step (steps = 1). | ||
# Support for this interface is indicated through the STEP_SIMULATION_ACTION value in GetSimulationFeatures. | ||
|
||
uint64 steps # Action goal: step through the simulation loop this many times. | ||
--- | ||
|
||
Result result # Calling with simulation unpaused will return OPERATION_FAILED and error message. | ||
|
||
--- | ||
uint64 completed_steps # number of completed steps in this action so far. | ||
uint64 remaining_steps # number of steps remaining to be completed in this action. |
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,25 @@ | ||
# Bounds which are useful in several contexts, e.g. to avoid spawning with other object overlap, | ||
# or parking in a spot that is too small. | ||
# Certain goals or points might be valid for a small object, but not suitable for a large one, | ||
# or a differently shaped one. | ||
# Bounds can be also checked to ensure certain scenario conditions are met. | ||
# For entities, these limits are relative to entity's canonical link transform, following ROS rep-103 convention. | ||
|
||
# As bounds are optional in most interfaces, TYPE_EMPTY signifies empty bounds, to be understood as "unbounded". | ||
# Otherwise, the fields are expected to define a valid volume. | ||
# For spawning with a named pose, you should check whether the entity simulation model fits within the bounds | ||
# before calling SpawnEntity, to avoid overlaps and unstable behavior. | ||
|
||
# bounds type | ||
uint8 TYPE_EMPTY = 0 # No bounds. The points vector will be empty. | ||
uint8 TYPE_BOX = 1 # Axis-aligned bounding box, points field should have two values, | ||
# which are upper right and lower left corners of the box. | ||
uint8 TYPE_CONVEX_HULL = 2 # Points define a convex hull (at least 3 non-collinear points). | ||
uint8 TYPE_SPHERE = 3 # A sphere with center and radius. First element of points vector is the center. | ||
# The x field of the second point of the vector is the radius (y and z are ignored). | ||
|
||
|
||
uint8 type | ||
geometry_msgs/Vector3[] points # Points defining the bounded area. Check type field to determine semantics. | ||
# Valid sizes are zero (no bounds), 2 (sphere or box, depending on type field), | ||
# and 3 or more (convex hull). |
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 @@ | ||
# Entity major category, which often warrants a specific way to handle such entity, e.g. when handling humans | ||
# or mapping persistence for dynamic vs static objects. | ||
|
||
uint8 CATEGORY_OBJECT = 0 # Generic or unspecified type. | ||
uint8 CATEGORY_ROBOT = 1 # A broad category for mobile robots, arms, drones etc., | ||
# usually with ROS 2 interfaces. | ||
uint8 CATEGORY_HUMAN = 2 # Simulated humans, e.g. pedestrians, warehouse workers. | ||
# Compared to CATEGORY_DYNAMIC_OBJECT, humans are often expected to be treated | ||
# exceptionally in regards to safety constraints. | ||
uint8 CATEGORY_DYNAMIC_OBJECT = 4 # Vehicles, animals, mobile obstacles, typically to present a detection and | ||
# tracking challenge, such as when simulation is used to test robot perception | ||
# or navigation stack. | ||
uint8 CATEGORY_STATIC_OBJECT = 5 # Any object which is static, e.g. not supposed to change its pose | ||
# unless by means of SetEntityState. | ||
|
||
uint8 category |
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,25 @@ | ||
# A set of filters to apply to entity queries. See GetEntities, GetEntitiesStates. | ||
|
||
string filter # Optional, defaults to empty. Return entities with matching names. | ||
# Entity names are matched with the filter regular expression. | ||
adamdbrw marked this conversation as resolved.
Show resolved
Hide resolved
|
||
# An empty filter will result in all entities being returned. | ||
# The regular expression syntax is POSIX Extended, | ||
# see https://pubs.opengroup.org/onlinepubs/9799919799/ definitions. | ||
# Applies together with other filters (categories, tags). | ||
EntityCategory[] categories # Optional, defaults to empty, which means no category filter. | ||
# Entities matching any of the categories will be returned. | ||
# To get entity category, use GetEntityInfo. | ||
# Applies together with other filters (filter, tags). | ||
# Check ENTITY_CATEGORIES in GetSimulatorFeatures to determine if | ||
# your simulator supports entity categories. | ||
TagsFilter tags # Tags filter to apply. To get entity tags, use GetEntityInfo. | ||
adamdbrw marked this conversation as resolved.
Show resolved
Hide resolved
|
||
# Applies together with other filters (filter, categories). | ||
# Check support for this feature (ENTITY_TAGS) in GetSimulationFeatures. | ||
Bounds bounds # if bounds are not empty, the overlap filter is applied | ||
# and entities overlapping with bounds will be returned. | ||
# Note that not all bound types might be supported by the simulator, | ||
# though at least TYPE_SPHERE needs to be supported. | ||
# Check ENTITY_BOUNDS_BOX and ENTITY_BOUNDS_CONVEX in GetSimulationFeatures | ||
# to determine whether your simulator supports other bound types. | ||
# If service is called with filter bounds set to an unsupported type, | ||
# a FEATURE_UNSUPPORTED result will be returned. |
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 type and additional information | ||
|
||
EntityCategory category # Major category for the entity. Extra entity type distinction can be made through tags. | ||
string description # optional: verbose, human-readable description of the entity. | ||
string[] tags # optional: tags which are useful for filtering and categorizing entities further. |
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 @@ | ||
# Entity current pose, twist and acceleration | ||
|
||
std_msgs/Header header # Reference frame and timestamp for pose and twist. Empty frame defaults to world. | ||
geometry_msgs/Pose pose # Pose in reference frame, ground truth. | ||
geometry_msgs/Twist twist # Ground truth linear and angular velocities | ||
# observed in the frame specified by header.frame_id | ||
# See https://github.com/ros2/common_interfaces/pull/240 for conventions. | ||
geometry_msgs/Accel acceleration # Linear and angular acceleration ground truth, following the same convention. |
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 @@ | ||
# A named pose defined in the simulation for certain purposes such as spawning. | ||
adamdbrw marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
string name # Unique name. | ||
string description # Description for the user, e.g. "near the charging station". | ||
string[] tags # Optional tags which can be used to determine the named pose | ||
# purpose, for example: "spawn", "parking", "navigation_goal", | ||
# as well as fitting entity types e.g. "drone", "turtlebot3". | ||
geometry_msgs/Pose pose # Pose relative to world, which can be used with SpawnEntity.srv. |
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,18 @@ | ||
# Result code and message for service calls. | ||
adamdbrw marked this conversation as resolved.
Show resolved
Hide resolved
|
||
# Note that additional results for specific services can defined within them using values above 100. | ||
|
||
uint8 RESULT_FEATURE_UNSUPPORTED = 0 # Feature is not supported by the simulator, check GetSimulatorFeatures. | ||
# While feature support can sometimes be deduced from presence of corresponding | ||
# service / action interface, in other cases it is about supporting certain | ||
# call parameters, formats and options within interface call. | ||
uint8 RESULT_OK = 1 | ||
uint8 RESULT_NOT_FOUND = 2 # No match for input (such as when entity name does not exist). | ||
uint8 RESULT_INCORRECT_STATE = 3 # Simulator is in an incorrect state for this interface call, e.g. a service | ||
# requires paused state but the simulator is not paused. | ||
uint8 RESULT_OPERATION_FAILED = 4 # Request could not be completed successfully even though feature is supported | ||
# and the input is correct; check error_message for details. | ||
# Implementation rule: check extended codes for called service | ||
# (e.g. SpawnEntity) to provide a return code which is more specific. | ||
|
||
uint8 result # Result to be checked on return from service interface call | ||
string error_message # Additional error description when useful. |
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 @@ | ||
# Simulation states used in SetSimulationState and returned in GetSimulationState | ||
|
||
uint8 STATE_STOPPED = 0 # Simulation is stopped, which is equivalent to pausing and resetting with ALL. | ||
# This is typically the default state when simulator is launched. | ||
# Stopped simulation can be played. It can also be paused, which means | ||
# starting simulation in a paused state immediately, | ||
# without any time steps for physics or simulated clock ticks. | ||
uint8 STATE_PLAYING = 1 # Simulation is playing, can be either paused or stopped. | ||
uint8 STATE_PAUSED = 2 # Simulation is paused, can be either stopped (which will reset it) or played. | ||
uint8 STATE_QUITTING = 3 # Closing the simulator application. Switching from STATE_PLAYING or STATE_PAUSED | ||
# states is expected to stop the simulation first, and then exit. | ||
# Simulation interfaces will become unavailable after quitting. | ||
# Running simulation application is outside of the simulation interfaces as | ||
# there is no service to handle the call when the simulator is not up. | ||
adamdbrw marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
uint8 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,45 @@ | ||
# Features supported by the simulator. | ||
|
||
uint8 SPAWNING = 0 # Supports spawn interface (SpawnEntity). | ||
uint8 DELETING = 1 # Supports deleting entities (DeleteEntity). | ||
uint8 NAMED_POSES = 2 # Supports predefined named poses (GetNamedPoses). | ||
uint8 POSE_BOUNDS = 3 # Supports pose bounds (GetNamedPoseBounds). | ||
uint8 ENTITY_TAGS = 4 # Supports entity tags in interfaces using EntityFilters, such as GetEntities. | ||
uint8 ENTITY_BOUNDS = 5 # Supports entity bounds (GetEntityBounds). | ||
uint8 ENTITY_BOUNDS_BOX = 6 # Supports entity filtering with bounds with TYPE_BOX. | ||
uint8 ENTITY_BOUNDS_CONVEX = 7 # Supports entity filtering with Bounds TYPE_CONVEX_HULL. | ||
uint8 ENTITY_CATEGORIES = 8 # Supports entity categories, such as in use with EntityFilters or SetEntityInfo. | ||
uint8 SPAWNING_RESOURCE_STRING = 9 # Supports SpawnEntity resource_string field. | ||
|
||
uint8 ENTITY_STATE_GETTING = 10 # Supports GetEntityState interface. | ||
uint8 ENTITY_STATE_SETTING = 11 # Supports SetEntityState interface. | ||
uint8 ENTITY_INFO_GETTING = 12 # Supports GetEntityInfo interface. | ||
uint8 ENTITY_INFO_SETTING = 13 # Supports SetEntityInfo interface. | ||
uint8 SPAWNABLES = 14 # Supports GetSpawnables interface. | ||
|
||
uint8 SIMULATION_RESET = 20 # Supports one or more ways to reset the simulation through ResetSimulation. | ||
uint8 SIMULATION_RESET_TIME = 21 # Supports SCOPE_TIME flag for resetting. | ||
uint8 SIMULATION_RESET_STATE = 22 # Supports SCOPE_STATE flag for resetting. | ||
uint8 SIMULATION_RESET_SPAWNED = 23 # Supports SCOPE_SPAWNED flag for resetting. | ||
uint8 SIMULATION_STATE_GETTING = 24 # Supports GetSimulationState interface. | ||
uint8 SIMULATION_STATE_SETTING = 25 # Supports SetSimulationState interface. Check SIMULATION_STATE_PAUSE feature | ||
# for setting STATE_PAUSED. | ||
uint8 SIMULATION_STATE_PAUSE = 26 # Supports the STATE_PAUSED SimulationState in SetSimulationState interface. | ||
|
||
uint8 STEP_SIMULATION_SINGLE = 31 # Supports single stepping through simulation with StepSimulation interface. | ||
uint8 STEP_SIMULATION_MULTIPLE = 32 # Supports multi-stepping through simulation, either through StepSimulation. | ||
# service or through SimulateSteps action. | ||
uint8 STEP_SIMULATION_ACTION = 33 # Supports SimulateSteps action interface. | ||
|
||
|
||
uint16[] features # A list of simulation features as specified by the list above. | ||
|
||
# A list of additional supported formats for spawning, which might be empty. Values may include | ||
# * sdf (SDFormat) | ||
# * urdf (Unified Robot Description Format) | ||
# * usd (Universal Scene Description) | ||
# * mjcf (MuJoCo's XML format) | ||
# or whatever simulator-native formats that are supported. | ||
string[] spawn_formats | ||
string custom_info # Optional: extra information for the caller, which could point to | ||
# documentation, version compatibility and other useful meta information. |
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". | ||
adamdbrw marked this conversation as resolved.
Show resolved
Hide resolved
|
||
Bounds spawn_bounds # Optional spawn area bounds which fully encompass this object. |
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 @@ | ||
# An utility message type for specification of tag-based filtering | ||
|
||
string[] tags # Optional, defaults to empty, which means no tags filter. | ||
# Results matching any or all of tags will be returned, depending | ||
# on tags_filter_mode. | ||
|
||
uint8 FILTER_MODE_ANY = 0 # Filter with OR mode (any tag can match). | ||
uint8 FILTER_MODE_ALL = 1 # Filter with AND mode (all tags need to match). | ||
|
||
uint8 filter_mode # Set to control filter application for tags. |
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, services and actions</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,9 @@ | ||
# Remove an entity (a robot, other object) from the simulation. | ||
# Support for this interface is indicated through the DELETING value in GetSimulationFeatures. | ||
|
||
adamdbrw marked this conversation as resolved.
Show resolved
Hide resolved
|
||
string entity # Entity identified by its unique name with a namespace, | ||
# as returned by SpawnEntity or GetEntities. | ||
|
||
--- | ||
|
||
Result result |
Oops, something went wrong.
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.