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

4 ➡️ 5 #622

Merged
merged 73 commits into from
Mar 3, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
4a9aca8
New ParticleEmitter component.
caguero Dec 23, 2020
272d39b
Remove attribute name.
caguero Dec 23, 2020
fb0c084
Merge branch 'ign-gazebo4' into particle_system
caguero Dec 23, 2020
698bb1e
Update particle emitter component to use ignition::msgs::ParticleEmit…
caguero Jan 7, 2021
24261cf
Merge
caguero Jan 7, 2021
f5538d5
Merge branch 'ign-gazebo4' into particle_system
caguero Jan 7, 2021
6b6f76f
Automatically load a subset of world plugins (#281)
mjcarroll Jan 8, 2021
69e190c
Added missing version namespace (#541)
nkoenig Jan 11, 2021
6544c78
Fix examples in migration plugins tutorial (#543)
nlamprian Jan 12, 2021
d5e65d9
Prepare for 3.7.0 release (#552)
nkoenig Jan 13, 2021
4124dea
Non-blocking paths request (#555)
chapulina Jan 14, 2021
ddd7fcd
Parallelize State call in ECM (#451)
Jan 15, 2021
8998740
added size to ground_plane in examples (#573)
jennuine Jan 21, 2021
afb228d
Publish all periodic change components in Scene Broadcaster (#544)
luca-della-vedova Jan 25, 2021
347fd51
Backport state update changes from pull request #486 (#583)
iche033 Jan 27, 2021
8fd9b26
Fix code_check errors (#582)
brawner Jan 27, 2021
ebd09d4
Visualize collisions (#531)
jennuine Jan 28, 2021
59ea1c6
Remove playback <path> SDF param in Dome (#570)
mabelzhang Jan 29, 2021
0a26d4e
Merge branch 'ign-gazebo4' into particle_system
caguero Jan 29, 2021
4cbc9dd
Simplify particle emitter component.
caguero Jan 29, 2021
39e98e1
Tutorial on migrating SDF files from Gazebo classic (#400)
chapulina Jan 29, 2021
f6a7329
World exporter (#474)
gonzodepedro Jan 29, 2021
9496d8f
Merge branch 'ign-gazebo4' into particle_system
caguero Jan 29, 2021
4c87e1d
Model creation tutorial using services (#530)
ahcorde Feb 1, 2021
d8b9d0c
Fix topLevelModel method (#600)
adlarkin Feb 1, 2021
b4e152d
add heat signature option to thermal system (#498)
adlarkin Dec 17, 2020
a02824c
Merge branch 'ign-gazebo4' into particle_system
caguero Feb 2, 2021
9bc088d
Add service and GUI to configure physics parameters (step size and re…
luca-della-vedova Feb 2, 2021
701b6ee
👩‍🌾 Refactor UNIT_Server_TEST: move tests to integration (#594)
j-rivero Feb 2, 2021
4eda53f
Also use Ignition GUI render event (#598)
chapulina Feb 2, 2021
555a84e
3 ➡️ 4
chapulina Feb 2, 2021
71e6c31
Address deprecation warning and add note to migration guide (#602)
chapulina Feb 2, 2021
bfc0c12
3 ➡️ 4 (#602)
chapulina Feb 2, 2021
0f284ba
4.3.0 (#605)
adlarkin Feb 2, 2021
c37e482
added issue & PR templates (#613)
jennuine Feb 5, 2021
766bb23
Fix seg fault in `SetRemovedComponentsMsgs` when TransformControl too…
mrushyendra Feb 8, 2021
2ed1013
Merge branch 'ign-gazebo4' into particle_system
adlarkin Feb 8, 2021
ac10892
Make topics configurable for joint controllers (#584)
chapulina Feb 9, 2021
87b2f4b
Add About dialog (#609)
atharva-18 Feb 10, 2021
e647570
Add thermal sensor system for configuring thermal camera properties (…
iche033 Feb 10, 2021
836f635
3 to 4
adlarkin Feb 11, 2021
d959c41
4.4.0 (#625)
adlarkin Feb 11, 2021
14cc837
Add JointTrajectoryController system plugin (#473)
AndrejOrsula Feb 11, 2021
1847513
Fix pose of plane visual with non-default normal vector (#574)
azeey Feb 12, 2021
3465bbe
Add laser_retro support (#603)
doisyg Feb 12, 2021
0f6c2b7
Add SDF topic validity check (#632)
atharva-18 Feb 15, 2021
215c8ed
Fix EntityComponentManager race condition (#601)
ddengster Feb 16, 2021
a5c6659
Added link to HW-accelerated video recording (#627)
peci1 Feb 16, 2021
5e0c773
Remove issue & PR templates (#631)
jennuine Feb 16, 2021
8c13dce
Merge branch 'ign-gazebo4' into particle_system
iche033 Feb 17, 2021
44a6713
Add Light Usercommand and include Light parameters in the componentIn…
ahcorde Feb 17, 2021
e77e376
Particle system - Part2 (#562)
caguero Feb 18, 2021
5885e45
Merge branch 'ign-gazebo4' into particle_system
adlarkin Feb 18, 2021
7f122de
bump msgs version to 6.3.0
iche033 Feb 18, 2021
8a1db3d
Remove extra main
Feb 18, 2021
494a11e
Added missing <set>
Feb 18, 2021
04721d3
4.5.0
Feb 18, 2021
deddb6f
Particle system - Part 1 (#516)
nkoenig Feb 18, 2021
4c2f498
Validity check for user defined topics in JointPositionController (#639)
atharva-18 Feb 19, 2021
a4a6206
3 -> 4
chapulina Feb 19, 2021
f8c9050
👩‍🌾 Improve velocity control test (#642)
chapulina Feb 20, 2021
7b4b258
👩‍🌾 Relax performance test (#640)
chapulina Feb 22, 2021
60d9eb8
Add TF/Pose_V publisher in DiffDrive (#548)
doisyg Feb 23, 2021
20b6a9d
Add console message to show computed temp range (#643)
iche033 Feb 23, 2021
159f620
Add a convenience function for getting possibly non-existing componen…
peci1 Feb 23, 2021
4a4951e
Fix flaky SceneBoradcaster test (#641)
chapulina Feb 23, 2021
d253d81
3 ➡️ 4 (#636)
chapulina Feb 24, 2021
58ac2b1
3 ➡️ 4
chapulina Feb 24, 2021
02bb83a
👩‍🌾 3 ➡️ 4 (#648)
chapulina Feb 25, 2021
3702dc8
👩‍🌾 Set LD_LIBRARY_PATH on Actions CI (fix user_commands test) (#650)
chapulina Feb 25, 2021
8e29cda
codecheck
chapulina Feb 26, 2021
b8dab13
4 to 5
chapulina Mar 1, 2021
dc60a3a
Fix Windows compilation (#622)
chapulina Mar 1, 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
1 change: 1 addition & 0 deletions .github/ci/after_make.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ set -e

# Install (needed for some tests)
make install
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib

# For ign-tools
export IGN_CONFIG_PATH=/usr/local/share/ignition
Expand Down
93 changes: 93 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,98 @@
## Ignition Gazebo 4.x

### Ignition Gazebo 4.5.0 (2020-02-17)

1. Added particle system.
* [Pull Request 516](https://github.com/ignitionrobotics/ign-gazebo/pull/516)

1. Add Light Usercommand and include Light parameters in the componentInspector
* [Pull Request 482](https://github.com/ignitionrobotics/ign-gazebo/pull/482)

1. Added link to HW-accelerated video recording.
* [Pull Request 627](https://github.com/ignitionrobotics/ign-gazebo/pull/627)

1. Fix EntityComponentManager race condition.
* [Pull Request 601](https://github.com/ignitionrobotics/ign-gazebo/pull/601)

1. Add SDF topic validity check.
* [Pull Request 632](https://github.com/ignitionrobotics/ign-gazebo/pull/632)

1. Add JointTrajectoryController system plugin.
* [Pull Request 473](https://github.com/ignitionrobotics/ign-gazebo/pull/473)

### Ignition Gazebo 4.4.0 (2020-02-10)

1. Added issue and PR templates
* [Pull Request 613](https://github.com/ignitionrobotics/ign-gazebo/pull/613)

1. Fix segfault in SetRemovedComponentsMsgs method
* [Pull Request 495](https://github.com/ignitionrobotics/ign-gazebo/pull/495)

1. Make topics configurable for joint controllers
* [Pull Request 584](https://github.com/ignitionrobotics/ign-gazebo/pull/584)

1. Add about dialog
* [Pull Request 609](https://github.com/ignitionrobotics/ign-gazebo/pull/609)

1. Add thermal sensor system for configuring thermal camera properties
* [Pull Request 614](https://github.com/ignitionrobotics/ign-gazebo/pull/614)

### Ignition Gazebo 4.3.0 (2020-02-02)

1. Non-blocking paths request.
* [Pull Request 555](https://github.com/ignitionrobotics/ign-gazebo/pull/555)

1. Parallelize State call in ECM.
* [Pull Request 451](https://github.com/ignitionrobotics/ign-gazebo/pull/451)

1. Allow to create light with the create service.
* [Pull Request 513](https://github.com/ignitionrobotics/ign-gazebo/pull/513)

1. Added size to ground_plane in examples.
* [Pull Request 573](https://github.com/ignitionrobotics/ign-gazebo/pull/573)

1. Fix finding PBR materials.
* [Pull Request 575](https://github.com/ignitionrobotics/ign-gazebo/pull/575)

1. Publish all periodic change components in Scene Broadcaster.
* [Pull Request 544](https://github.com/ignitionrobotics/ign-gazebo/pull/544)

1. Backport state update changes from pull request [#486](https://github.com/ignitionrobotics/ign-gazebo/pull/486).
* [Pull Request 583](https://github.com/ignitionrobotics/ign-gazebo/pull/583)

1. Fix code_check errors.
* [Pull Request 582](https://github.com/ignitionrobotics/ign-gazebo/pull/582)

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

1. Remove playback <path> SDF param in Dome.
* [Pull Request 570](https://github.com/ignitionrobotics/ign-gazebo/pull/570)

1. Tutorial on migrating SDF files from Gazebo classic.
* [Pull Request 400](https://github.com/ignitionrobotics/ign-gazebo/pull/400)

1. World Exporter.
* [Pull Request 474](https://github.com/ignitionrobotics/ign-gazebo/pull/474)

1. Model Creation tutorial using services.
* [Pull Request 530](https://github.com/ignitionrobotics/ign-gazebo/pull/530)

1. Fix topLevelModel Method.
* [Pull Request 600](https://github.com/ignitionrobotics/ign-gazebo/pull/600)

1. Add heat signature option to thermal system.
* [Pull Request 498](https://github.com/ignitionrobotics/ign-gazebo/pull/498)

1. Add service and GUI to configure physics parameters (step size and RTF).
* [Pull Request 536](https://github.com/ignitionrobotics/ign-gazebo/pull/536)

1. Refactor UNIT_Server_TEST.
* [Pull Request 594](https://github.com/ignitionrobotics/ign-gazebo/pull/594)

1. Use Ignition GUI render event.
* [Pull Request 598](https://github.com/ignitionrobotics/ign-gazebo/pull/598)

### Ignition Gazebo 4.2.0 (2020-01-13)

1. Automatically load a subset of world plugins.
Expand Down
7 changes: 7 additions & 0 deletions Migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,13 @@ in SDF by setting the `<visual><material><double_sided>` SDF element.
std::string(const gazebo::Entity &,
const sdf::Sensor &, const std::string &)>)`

* Log playback using `<path>` SDF parameter is removed. Use --playback command
line argument instead.

* `rendering::SceneManager`
* **Deprecated**: `Entity EntityFromNode(const rendering::NodePtr &_node) const;`
* **Replacement**: `Entity entity = std::get<int>(visual->UserData("gazebo-entity"));`

## Ignition Gazebo 2.x to 3.x

* Use ign-rendering3, ign-sensors3 and ign-gui3.
Expand Down
1 change: 1 addition & 0 deletions examples/scripts/distributed/secondary.sdf
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
<geometry>
<plane>
<normal>0 0 1</normal>
<size>100 100</size>
</plane>
</geometry>
</collision>
Expand Down
1 change: 1 addition & 0 deletions examples/scripts/distributed/standalone.sdf
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@
<geometry>
<plane>
<normal>0 0 1</normal>
<size>100 100</size>
</plane>
</geometry>
</collision>
Expand Down
8 changes: 8 additions & 0 deletions examples/standalone/entity_creation/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
cmake_minimum_required(VERSION 3.10.2 FATAL_ERROR)

find_package(ignition-transport10 QUIET REQUIRED OPTIONAL_COMPONENTS log)
set(IGN_TRANSPORT_VER ${ignition-transport10_VERSION_MAJOR})

add_executable(entity_creation entity_creation.cc)
target_link_libraries(entity_creation
ignition-transport${IGN_TRANSPORT_VER}::core)
25 changes: 25 additions & 0 deletions examples/standalone/entity_creation/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Examples using the create service

## Build

```
mkdir build
cd build
cmake ..
make
```

## Run

This example only works if the world is called `empty`. Start an empty world with:

```
ign gazebo empty.sdf
```

Then run the create program to spawn entities into the world:

```
cd build
./entity_creation
```
186 changes: 186 additions & 0 deletions examples/standalone/entity_creation/entity_creation.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
/*
* 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 <ignition/msgs/entity_factory.pb.h>

#include <iostream>

#include <ignition/transport/Node.hh>

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

// timeout used for services
constexpr unsigned int timeout = 5000;

void createLight()
{
bool result;
ignition::msgs::Boolean rep;
//! [create light]
ignition::msgs::EntityFactory entityFactoryRequest;

entityFactoryRequest.mutable_light()->set_name("point");
entityFactoryRequest.mutable_light()->set_range(4);
entityFactoryRequest.mutable_light()->set_attenuation_linear(0.5);
entityFactoryRequest.mutable_light()->set_attenuation_constant(0.2);
entityFactoryRequest.mutable_light()->set_attenuation_quadratic(0.01);
entityFactoryRequest.mutable_light()->set_cast_shadows(false);
entityFactoryRequest.mutable_light()->set_type(ignition::msgs::Light::POINT);
ignition::msgs::Set(
entityFactoryRequest.mutable_light()->mutable_direction(),
ignition::math::Vector3d(0.5, 0.2, -0.9));
ignition::msgs::Set(entityFactoryRequest.mutable_light()->mutable_pose(),
ignition::math::Pose3d(0.0, 0, 3.0, 0.0, 0.0, 0.0));
//! [create light]

//! [call service create]
bool executedEntityFactory = node.Request("/world/empty/create",
entityFactoryRequest, timeout, rep, result);
if (executedEntityFactory)
{
if (result)
std::cout << "Light was created : [" << rep.data() << "]" << std::endl;
else
{
std::cout << "Service call failed" << std::endl;
return;
}
}
else
std::cerr << "Service call timed out" << std::endl;
//! [call service create]
}

void createEntityFromStr(const std::string modelStr)
{
//! [call service create sphere]
bool result;
ignition::msgs::EntityFactory req;
ignition::msgs::Boolean res;
req.set_sdf(modelStr);

bool executed = node.Request("/world/empty/create",
req, timeout, res, result);
if (executed)
{
if (result)
std::cout << "Sphere was created : [" << res.data() << "]" << std::endl;
else
{
std::cout << "Service call failed" << std::endl;
return;
}
}
else
std::cerr << "Service call timed out" << std::endl;
//! [call service create sphere]
}

//////////////////////////////////////////////////
std::string generateLightStr(
const std::string light_type, const std::string name,
const bool cast_shadows, const ignition::math::Pose3d pose,
const ignition::math::Color diffuse,
const ignition::math::Color specular,
const double attRange, const double attConstant,
const double attLinear, const double attQuadratic,
const ignition::math::Vector3d direction,
const double spot_inner_angle,
const double spot_outer_angle,
const double spot_falloff
)
{
//! [create light str]
std::string lightStr = std::string("<sdf version='1.7'>") +
"<light type='" + light_type + "' name='" + name + "'> " +
"<cast_shadows>" + std::to_string(cast_shadows) + "</cast_shadows>" +
"<pose>" +
std::to_string(pose.Pos().X()) + " " +
std::to_string(pose.Pos().Y()) + " " +
std::to_string(pose.Pos().Z()) + " " +
std::to_string(pose.Rot().Roll()) + " " +
std::to_string(pose.Rot().Pitch()) + " " +
std::to_string(pose.Rot().Yaw()) +
"</pose>" +
"<diffuse>" +
std::to_string(diffuse.R()) + " " +
std::to_string(diffuse.G()) + " " +
std::to_string(diffuse.B()) + " " +
std::to_string(diffuse.A()) +
"</diffuse>" +
"<specular>" +
std::to_string(specular.R()) + " " +
std::to_string(specular.G()) + " " +
std::to_string(specular.B()) + " " +
std::to_string(specular.A()) +
"</specular>" +
"<attenuation>" +
"<range>" + std::to_string(attRange) + "</range>" +
"<constant>" + std::to_string(attConstant) + "</constant>" +
"<linear>" + std::to_string(attLinear) + "</linear>" +
"<quadratic>" + std::to_string(attQuadratic) + "</quadratic>" +
"</attenuation>" +
"<direction>" +
std::to_string(direction.X()) + " " +
std::to_string(direction.Y()) + " " +
std::to_string(direction.Z()) +
"</direction>" +
"<spot>" +
"<inner_angle>" + std::to_string(spot_inner_angle) + "</inner_angle>" +
"<outer_angle>" + std::to_string(spot_outer_angle) + "</outer_angle>" +
"<falloff>" + std::to_string(spot_falloff) + "</falloff>" +
"</spot>" +
"</light></sdf>";
//! [create light str]
return lightStr;
}

//////////////////////////////////////////////////
int main(int argc, char **argv)
{
//! [create sphere]
auto sphereStr = R"(
<?xml version="1.0" ?>
<sdf version='1.7'>
<model name='sphere'>
<link name='link'>
<pose>0 0 0.5 0 0 0</pose>
<visual name='visual'>
<geometry><sphere><radius>1</radius></sphere></geometry>
</visual>
<collision name='collision'>
<geometry><sphere><radius>1</radius></sphere></geometry>
</collision>
</link>
</model>
</sdf>)";
//! [create sphere]

createEntityFromStr(sphereStr);

createEntityFromStr(
generateLightStr("spot", "spot_light", false,
ignition::math::Pose3d(0, 0, 4, 0, 0, 0),
ignition::math::Color(0, 0, 1.0, 1.0),
ignition::math::Color(0, 0, 1.0, 1.0),
1.0, 0.2, 0.2, 0.001,
ignition::math::Vector3d(0.5, 0.2, -0.9),
0.15, 0.45, 1.0));

createLight();
}
12 changes: 12 additions & 0 deletions examples/standalone/light_control/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
cmake_minimum_required(VERSION 3.10.2 FATAL_ERROR)

find_package(ignition-transport10 QUIET REQUIRED OPTIONAL_COMPONENTS log)
set(IGN_TRANSPORT_VER ${ignition-transport10_VERSION_MAJOR})

find_package(ignition-gazebo5 REQUIRED)
set(IGN_GAZEBO_VER ${ignition-gazebo5_VERSION_MAJOR})

add_executable(light_control light_control.cc)
target_link_libraries(light_control
ignition-transport${IGN_TRANSPORT_VER}::core
ignition-gazebo${IGN_GAZEBO_VER}::ignition-gazebo${IGN_GAZEBO_VER})
Loading