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

5 ➡️ 6 #888

Merged
merged 38 commits into from
Jul 1, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
4ee7d57
Fix documentation for EntityComponentManager::EachNew (#795)
adlarkin Apr 29, 2021
064b3ec
Add functionalities for optical tactile plugin (#431)
mcres May 3, 2021
d3738cb
Contacts visualization (#234)
mcres May 5, 2021
86811f8
Backport #763 (#804)
nkoenig May 5, 2021
cceec4e
[Backport #536 3 ⬅️ 4] Add service and GUI to configure physics param…
ahcorde May 12, 2021
86fe608
Trigger delay (#817)
nkoenig May 14, 2021
3d4caa8
Remove tools/code_check and update codecov (#814)
chapulina May 17, 2021
27ef720
Adding HaltMotion (Or new suggested name) to physics plugin (#728)
Lobotuerk May 18, 2021
b18f6ca
add conversion for particle scatter ratio field (#791)
iche033 May 19, 2021
20abc25
Merging 3 to 4
May 20, 2021
6619271
Merge pull request #828 from ignitionrobotics/3-to-4-2021-05-20
nkoenig May 20, 2021
996684c
Prepare for 4.9.0 release (#829)
nkoenig May 21, 2021
be5581f
Make halt motiona act like a brake (#830)
nkoenig May 24, 2021
c970caf
4.9.1 prep (#831)
nkoenig May 24, 2021
0cacbd5
Use moveToHelper from ign-rendering (#825)
ahcorde May 26, 2021
3480302
Remove unused headers in video_recoder plugin (#834)
ahcorde May 27, 2021
65e8b04
Removed duplicated code with rendering::sceneFromFirstRenderEngine (#…
ahcorde May 27, 2021
80379fb
Fix race condition when rendering the UI (#774)
darksylinc May 27, 2021
ee895b8
Cleanup and alphabetize plugin headers (#838)
ahcorde May 28, 2021
657ca6d
Using math::SpeedLimiter on the ackermann_steering controller. (#837)
LolaSegura Jun 3, 2021
5694336
remove unneeded check (#857)
iche033 Jun 10, 2021
31676f5
added follow camera offset service (#855)
jennuine Jun 10, 2021
5a3b1b8
Fix potentially flaky integration component test case (#848)
adlarkin Jun 15, 2021
24d8949
Add Particle Emitter tutorial (#860)
iche033 Jun 16, 2021
3e2018e
Set collision detector and solver from SDF (#684)
chapulina Jun 16, 2021
44f2e92
Fix WindEffects Plugin bug, not configuring new links (#844)
Blast545 Jun 17, 2021
7c6c70a
New example: get an ECM snapshot from an external program (#859)
chapulina Jun 17, 2021
7876ca3
Using math::SpeedLimiter on the diff_drive controller. (#833)
LolaSegura Jun 18, 2021
8abfc3b
Depend on ign-rendering 3.5 (#867)
chapulina Jun 18, 2021
fada73c
Enables confirmation dialog when closing Gazebo. (#850)
francocipollone Jun 18, 2021
a1ebffa
Refactor RenderUtil::Update with helper functions (#858)
adlarkin Jun 18, 2021
483684f
Set gui camera pose (#863)
jennuine Jun 18, 2021
f6a1a84
3 -> 4 (#866)
chapulina Jun 22, 2021
1a7c606
Merge pull request #866 from ignitionrobotics/chapulina/3_to_4
ahcorde Jun 23, 2021
91e3e49
Merge remote-tracking branch 'origin/ign-gazebo4' into ahcorde/4_to_5
ahcorde Jun 23, 2021
acc627a
Depend on SDF 11.2, rendering 5.1 and GUI 5.1. Fix Windows. (#877)
chapulina Jun 23, 2021
ee6a29e
4 ➡️ 5 (#877)
chapulina Jun 25, 2021
ecc2567
5 -> 6
chapulina Jun 26, 2021
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
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ project(ignition-gazebo6 VERSION 6.0.0)
# Find ignition-cmake
#============================================================================
# If you get an error at this line, you need to install ignition-cmake
find_package(ignition-cmake2 2.3 REQUIRED)
find_package(ignition-cmake2 2.8.0 REQUIRED)

#============================================================================
# Configure the project
Expand Down
43 changes: 43 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,49 @@

### Ignition Gazebo 4.x.x (202x-xx-xx)

### Ignition Gazebo 4.9.1 (2021-05-24)

1. Make halt motion act like a brake.
* [Pull Request 830](https://github.com/ignitionrobotics/ign-gazebo/pull/830)

### Ignition Gazebo 4.9.0 (2021-05-20)

1. Enable Focal CI.
* [Pull Request 646](https://github.com/ignitionrobotics/ign-gazebo/pull/646)

1. [TPE] Support setting individual link velocity.
* [Pull Request 427](https://github.com/ignitionrobotics/ign-gazebo/pull/427)

1. Don't store duplicate ComponentTypeId in ECM.
* [Pull Request 751](https://github.com/ignitionrobotics/ign-gazebo/pull/751)

1. Fix macOS build: components::Name in benchmark.
* [Pull Request 784](https://github.com/ignitionrobotics/ign-gazebo/pull/784)

1. Fix documentation for EntityComponentManager::EachNew.
* [Pull Request 795](https://github.com/ignitionrobotics/ign-gazebo/pull/795)

1. Add functionalities for optical tactile plugin.
* [Pull Request 431](https://github.com/ignitionrobotics/ign-gazebo/pull/431)

1. Visualize ContactSensorData.
* [Pull Request 234](https://github.com/ignitionrobotics/ign-gazebo/pull/234)

1. Backport PR #763.
* [Pull Request 804](https://github.com/ignitionrobotics/ign-gazebo/pull/804)

1. Backport PR #536.
* [Pull Request 812](https://github.com/ignitionrobotics/ign-gazebo/pull/812)

1. Add an optional delay to the TriggeredPublisher system.
* [Pull Request 817](https://github.com/ignitionrobotics/ign-gazebo/pull/817)

1. Remove tools/code_check and update codecov.
* [Pull Request 814](https://github.com/ignitionrobotics/ign-gazebo/pull/814)

1. add conversion for particle scatter ratio field.
* [Pull Request 791](https://github.com/ignitionrobotics/ign-gazebo/pull/791)

### Ignition Gazebo 4.8.0 (2021-04-22)

1. Add odometry publisher system.
Expand Down
7 changes: 7 additions & 0 deletions examples/standalone/external_ecm/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
cmake_minimum_required(VERSION 3.10.2 FATAL_ERROR)

find_package(ignition-gazebo6 REQUIRED)

add_executable(external_ecm external_ecm.cc)
target_link_libraries(external_ecm
ignition-gazebo6::core)
93 changes: 93 additions & 0 deletions examples/standalone/external_ecm/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# External ECM

Example showing how to get a snapshot of all entities and components in a
running simulation from an external program using the state message.

## Build

From the root of the `ign-gazebo` repository, do the following to build the example:

~~~
cd ign-gazebo/examples/standalone/external_ecm
mkdir build
cd build
cmake ..
make
~~~

This will generate the `external_ecm` executable under `build`.

## Run

Start a simulation, for example:

ign gazebo shapes.sdf

On another terminal, run the `external_ecm` executable, passing the name of the
running world you want to inspect:

cd ign-gazebo/examples/standalone/external_ecm
./external_ecm shapes

You should see something like this:

```
$ ./external_ecm shapes

Requesting state for world [shapes] on service [/world/shapes/state]...

Entity [1]
- Name: shapes
- Parent:
Entity [4]
- Name: ground_plane
- Parent: shapes [1]
Entity [5]
- Name: link
- Parent: ground_plane [4]
Entity [6]
- Name: visual
- Parent: link [5]
Entity [7]
- Name: collision
- Parent: link [5]
Entity [8]
- Name: box
- Parent: shapes [1]
Entity [9]
- Name: box_link
- Parent: box [8]
Entity [10]
- Name: box_visual
- Parent: box_link [9]
Entity [11]
- Name: box_collision
- Parent: box_link [9]
Entity [12]
- Name: cylinder
- Parent: shapes [1]
Entity [13]
- Name: cylinder_link
- Parent: cylinder [12]
Entity [14]
- Name: cylinder_visual
- Parent: cylinder_link [13]
Entity [15]
- Name: cylinder_collision
- Parent: cylinder_link [13]
Entity [16]
- Name: sphere
- Parent: shapes [1]
Entity [17]
- Name: sphere_link
- Parent: sphere [16]
Entity [18]
- Name: sphere_visual
- Parent: sphere_link [17]
Entity [19]
- Name: sphere_collision
- Parent: sphere_link [17]
Entity [20]
- Name: sun
- Parent: shapes [1]
```
98 changes: 98 additions & 0 deletions examples/standalone/external_ecm/external_ecm.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
/*
* Copyright (C) 2021 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/

#include <iostream>
#include <ignition/gazebo/EntityComponentManager.hh>
#include <ignition/gazebo/components/Name.hh>
#include <ignition/gazebo/components/ParentEntity.hh>
#include <ignition/msgs/serialized.pb.h>
#include <ignition/transport/Node.hh>

//////////////////////////////////////////////////
int main(int argc, char **argv)
{
if (argc < 2)
{
std::cout << "Usage: `./external_ecm <world name>`" << std::endl;
return -1;
}

// Get arguments
std::string world = argv[1];

// Create a transport node.
ignition::transport::Node node;

bool executed{false};
bool result{false};
unsigned int timeout{5000};
std::string service{"/world/" + world + "/state"};

std::cout << std::endl << "Requesting state for world [" << world
<< "] on service [" << service << "]..." << std::endl << std::endl;

// Request and block
ignition::msgs::SerializedStepMap res;
executed = node.Request(service, timeout, res, result);

if (!executed)
{
std::cerr << std::endl << "Service call to [" << service << "] timed out"
<< std::endl;
return -1;
}

if (!result)
{
std::cerr << std::endl << "Service call to [" << service << "] failed"
<< std::endl;
return -1;
}

// Instantiate an ECM and populate with data from message
ignition::gazebo::EntityComponentManager ecm;
ecm.SetState(res.state());

// Print some information
ecm.Each<ignition::gazebo::components::Name>(
[&](const ignition::gazebo::Entity &_entity,
const ignition::gazebo::components::Name *_name) -> bool
{
auto parentComp =
ecm.Component<ignition::gazebo::components::ParentEntity>(_entity);

std::string parentInfo;
if (parentComp)
{
auto parentNameComp =
ecm.Component<ignition::gazebo::components::Name>(
parentComp->Data());

if (parentNameComp)
{
parentInfo += parentNameComp->Data() + " ";
}
parentInfo += "[" + std::to_string(parentComp->Data()) + "]";
}

std::cout << "Entity [" << _entity << "]" << std::endl
<< " - Name: " << _name->Data() << std::endl
<< " - Parent: " << parentInfo << std::endl;

return true;
});
}
26 changes: 21 additions & 5 deletions examples/worlds/optical_tactile_sensor_plugin.sdf
Original file line number Diff line number Diff line change
@@ -1,4 +1,17 @@
<?xml version="1.0" ?>
<!--

Demo of an optical tactile plugin.
Move the tactile sensor to touch different objects and see the output.

Disable the sensor with:

ign service -s /optical_tactile_plugin/enable \
--reqtype ignition.msgs.Boolean \
--reptype ignition.msgs.Empty \
--timeout 2000 --req 'data: false'

-->

<sdf version="1.7">
<world name="optical_tactile_plugin">
Expand Down Expand Up @@ -38,7 +51,8 @@
<scene>scene</scene>
<ambient_light>0.4 0.4 0.4</ambient_light>
<background_color>0.8 0.8 0.8</background_color>
<camera_pose>-6 0 6 0 0.5 0</camera_pose>
<camera_pose>0.35 0.23 0.94 0 0.05 -2.53</camera_pose>

</plugin>

<!-- World control -->
Expand Down Expand Up @@ -196,14 +210,16 @@
</sensor>

</link>
<static>true</static>
<static>false</static>
<plugin
filename="libignition-gazebo-opticaltactileplugin-system.so"
name="ignition::gazebo::systems::OpticalTactilePlugin">
<enabled>true</enabled>
<visualization_resolution>15</visualization_resolution>
<visualize_forces>true</visualize_forces>
<namespace>optical_tactile_plugin</namespace>
<visualize_sensor>true</visualize_sensor>
<visualize_contacts>true</visualize_contacts>
<visualize_forces>true</visualize_forces>
<visualization_resolution>15</visualization_resolution>
<force_length>0.01</force_length>
<extended_sensing>0.001</extended_sensing>
</plugin>
Expand All @@ -223,7 +239,7 @@
<pose>0 -0.7 0 0 0 3.14</pose>
<uri>https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/OfficeChairBlue</uri>
</include>

<include>
<pose>-1.5 0 0 0 0 0</pose>
<uri>https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/VendingMachine</uri>
Expand Down
Loading