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

Add tutorial for using the Pose component #2219

Merged
merged 25 commits into from
Jun 14, 2024
Merged
Show file tree
Hide file tree
Changes from 19 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
86f42f8
Update changelog and prepare for pre2 release (#2178)
azeey Sep 29, 2023
8b9b3a2
Prepare for 8.0.0 Release (#2181)
azeey Sep 29, 2023
5db2379
Remove direct dependency on libdart in CI (#2187)
azeey Oct 2, 2023
1b7d9ef
Support specifying the name of light associated with lens flares (#2172)
iche033 Oct 5, 2023
606efea
add components tutorial
mabelzhang Oct 14, 2023
1b0caba
document component used
mabelzhang Oct 18, 2023
139c68b
Update tutorials/component_jointforcecmd.md
mabelzhang Oct 17, 2023
c4fab59
Update tutorials/component_jointforcecmd.md
mabelzhang Oct 17, 2023
3529da7
Update tutorials/component_jointforcecmd.md
mabelzhang Oct 17, 2023
0ed09b8
Update tutorials/component_jointforcecmd.md
mabelzhang Oct 17, 2023
9d2aa1b
missing quotes from auto commits
mabelzhang Oct 31, 2023
29fbb92
exclude comment lines from doxygen snippet
mabelzhang Oct 31, 2023
f6668fa
Fix custom_sensor_system example (#2208)
azeey Oct 16, 2023
299cf20
Standardize Doxygen parameter formatting for systems A-N (#2183)
mabelzhang Oct 28, 2023
9111343
pose component tutorial
mabelzhang Nov 1, 2023
e5b2b68
add component doxygen
mabelzhang Nov 1, 2023
b703b89
rename confusing file name
mabelzhang Nov 1, 2023
166bcf2
rename page tag to be consistent with downstream tutorial
mabelzhang Nov 1, 2023
d175dec
merge from upstream
mabelzhang Nov 1, 2023
6a4a045
Merge remote-tracking branch 'origin/gz-sim8' into mabelzhang/compone…
azeey Feb 6, 2024
db95472
merge from gz-sim8
mabelzhang Mar 29, 2024
af58334
Merge branch 'mabelzhang/component_tutorial_pose2' of github.com:gaze…
mabelzhang Mar 29, 2024
9c0b2c4
Fix CI msgs::Set error. Remove createComponent block
mabelzhang Mar 29, 2024
ed8f171
Merge remote-tracking branch 'origin/gz-sim8' into mabelzhang/compone…
azeey Jun 14, 2024
e249b8e
Remove merge conflict marker
azeey Jun 14, 2024
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
8 changes: 0 additions & 8 deletions .github/ci-focal/before_cmake.sh

This file was deleted.

5 changes: 0 additions & 5 deletions .github/ci/packages.apt
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
freeglut3-dev
libbenchmark-dev
libdart-collision-ode-dev
libdart-dev
libdart-external-ikfast-dev
libdart-external-odelcpsolver-dev
libdart-utils-urdf-dev
libfreeimage-dev
libglew-dev
libgz-cmake3-dev
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ find_package(gz-cmake3 REQUIRED)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

gz_configure_project(VERSION_SUFFIX pre1)
gz_configure_project(VERSION_SUFFIX)

#============================================================================
# Set project-specific options
Expand Down
129 changes: 128 additions & 1 deletion Changelog.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,133 @@
## Gazebo Sim 8.x

### Gazebo Sim 8.X.X (20XX-XX-XX)
### Gazebo Sim 8.0.0 (2023-09-29)

1. TouchPlugin: Reset the plugin with the initial values
* [Pull request #2132](https://github.com/gazebosim/gz-sim/pull/2132)

1. Fix another deadlock in sensors system
* [Pull request #2141](https://github.com/gazebosim/gz-sim/pull/2141)

1. Documentation fixes
* [Pull request #2157](https://github.com/gazebosim/gz-sim/pull/2157)
* [Pull request #2150](https://github.com/gazebosim/gz-sim/pull/2150)
* [Pull request #2148](https://github.com/gazebosim/gz-sim/pull/2148)
* [Pull request #2147](https://github.com/gazebosim/gz-sim/pull/2147)
* [Pull request #2143](https://github.com/gazebosim/gz-sim/pull/2143)
* [Pull request #2133](https://github.com/gazebosim/gz-sim/pull/2133)
* [Pull request #2130](https://github.com/gazebosim/gz-sim/pull/2130)
* [Pull request #2128](https://github.com/gazebosim/gz-sim/pull/2128)
* [Pull request #2124](https://github.com/gazebosim/gz-sim/pull/2124)
* [Pull request #2114](https://github.com/gazebosim/gz-sim/pull/2114)
* [Pull request #2107](https://github.com/gazebosim/gz-sim/pull/2107)

1. Fix Examples
* [Pull request #2151](https://github.com/gazebosim/gz-sim/pull/2151)
* [Pull request #2149](https://github.com/gazebosim/gz-sim/pull/2149)
* [Pull request #2145](https://github.com/gazebosim/gz-sim/pull/2145)
* [Pull request #2144](https://github.com/gazebosim/gz-sim/pull/2144)
* [Pull request #2129](https://github.com/gazebosim/gz-sim/pull/2129)
* [Pull request #2127](https://github.com/gazebosim/gz-sim/pull/2127)
* [Pull request #2123](https://github.com/gazebosim/gz-sim/pull/2123)
* [Pull request #2122](https://github.com/gazebosim/gz-sim/pull/2122)
* [Pull request #2111](https://github.com/gazebosim/gz-sim/pull/2111)

1. Load transform control and select entities plugins in thermal camera world
* [Pull request #2139](https://github.com/gazebosim/gz-sim/pull/2139)

1. Fixed invalid service names
* [Pull request #2121](https://github.com/gazebosim/gz-sim/pull/2121)

1. Add automatic moment of inertia calculation for meshes
* [Pull request #2171](https://github.com/gazebosim/gz-sim/pull/2171)
* [Pull request #2166](https://github.com/gazebosim/gz-sim/pull/2166)
* [Pull request #2119](https://github.com/gazebosim/gz-sim/pull/2119)
* [Pull request #2105](https://github.com/gazebosim/gz-sim/pull/2105)
* [Pull request #2061](https://github.com/gazebosim/gz-sim/pull/2061)

1. ign -> gz
* [Pull request #2055](https://github.com/gazebosim/gz-sim/pull/2055)

1. Adds python demo examples
* [Pull request #2044](https://github.com/gazebosim/gz-sim/pull/2044)

1. Add support for writing systems in Python
* [Pull request #2081](https://github.com/gazebosim/gz-sim/pull/2081)

1. Apply mimic constraint to joints (only Bullet-featherstone)
* [Pull request #1838](https://github.com/gazebosim/gz-sim/pull/1838)

1. Fix rendering tests
* [Pull request #2086](https://github.com/gazebosim/gz-sim/pull/2086)

1. Make systems and tests include headers they use
* [Pull request #2100](https://github.com/gazebosim/gz-sim/pull/2100)

1. Adds Python bindings for the Actor, Joint, Light, Link, Model, Sensor, World convenience class
* [Pull request #2043](https://github.com/gazebosim/gz-sim/pull/2043)
* [Pull request #2042](https://github.com/gazebosim/gz-sim/pull/2042)
* [Pull request #2041](https://github.com/gazebosim/gz-sim/pull/2041)
* [Pull request #2040](https://github.com/gazebosim/gz-sim/pull/2040)
* [Pull request #2039](https://github.com/gazebosim/gz-sim/pull/2039)
* [Pull request #2036](https://github.com/gazebosim/gz-sim/pull/2036)
* [Pull request #2035](https://github.com/gazebosim/gz-sim/pull/2035)

1. Add version number to gz.common python binding
* [Pull request #2093](https://github.com/gazebosim/gz-sim/pull/2093)

1. Infrastructure
* [Pull request #2046](https://github.com/gazebosim/gz-sim/pull/2046)

1. Bumps in harmonic : sdformat14, gz-physics6, gz-sensors8, gz-gui8, gz-rendering8, gz-transport13, gz-msgs10, gz-fuel-tools9
* [Pull request #2062](https://github.com/gazebosim/gz-sim/pull/2062)
* [Pull request #1892](https://github.com/gazebosim/gz-sim/pull/1892)
* [Pull request #1837](https://github.com/gazebosim/gz-sim/pull/1837)

1. Use new sky cubemap, instead of header
* [Pull request #2060](https://github.com/gazebosim/gz-sim/pull/2060)

1. Remove deprecations and address some todos for Harmonic
* [Pull request #2054](https://github.com/gazebosim/gz-sim/pull/2054)
* [Pull request #2053](https://github.com/gazebosim/gz-sim/pull/2053)

1. Use ogre2 in wide angle camera and lens flares worlds
* [Pull request #2063](https://github.com/gazebosim/gz-sim/pull/2063)

1. Use new API for creating projector
* [Pull request #2064](https://github.com/gazebosim/gz-sim/pull/2064)

1. Fix const-correctness of the `Model::JointByName` and `Model::LinkByName` APIs
* [Pull request #2059](https://github.com/gazebosim/gz-sim/pull/2059)

1. Change type of `Component::typeName` and address outstanding todos
* [Pull request #2049](https://github.com/gazebosim/gz-sim/pull/2049)

1. Add Lens Flare System
* [Pull request #1933](https://github.com/gazebosim/gz-sim/pull/1933)

1. Fix TopicInfo deprecation warnings in Harmonic
* [Pull request #1922](https://github.com/gazebosim/gz-sim/pull/1922)

1. Add DopplerVelocityLogSystem plugin
* [Pull request #1804](https://github.com/gazebosim/gz-sim/pull/1804)

1. GUI for Global Illumination (VCT / CI VCT)
* [Pull request #1597](https://github.com/gazebosim/gz-sim/pull/1597)

1. Add CLI to switch to Vulkan & Metal backends
* [Pull request #1735](https://github.com/gazebosim/gz-sim/pull/1735)

1. Remove deprecations for main/gz-sim8
* [Pull request #1783](https://github.com/gazebosim/gz-sim/pull/1783)

1. Acoustic comms plugin
* [Pull request #1608](https://github.com/gazebosim/gz-sim/pull/1608)

1. Set seed value using CLI
* [Pull request #1618](https://github.com/gazebosim/gz-sim/pull/1618)

1. ⬆️ Bump main to 8.0.0~pre1
* [Pull request #1640](https://github.com/gazebosim/gz-sim/pull/1640)

## Gazebo Sim 7.x

Expand Down
2 changes: 1 addition & 1 deletion examples/plugin/custom_sensor_system/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ include(FetchContent)
FetchContent_Declare(
sensors_clone
GIT_REPOSITORY https://github.com/gazebosim/gz-sensors
GIT_TAG main
GIT_TAG gz-sensors8
)
FetchContent_Populate(sensors_clone)
add_subdirectory(${sensors_clone_SOURCE_DIR}/examples/custom_sensor ${sensors_clone_BINARY_DIR})
Expand Down
72 changes: 36 additions & 36 deletions src/systems/ackermann_steering/AckermannSteering.hh
Original file line number Diff line number Diff line change
Expand Up @@ -36,106 +36,106 @@ namespace systems
/// \brief Ackermann steering controller which can be attached to a model
/// with any number of left and right wheels.
///
/// # System Parameters
/// ## System Parameters
///
/// `<steering_only>`: Boolean used to only control the steering angle
/// - `<steering_only>`: Boolean used to only control the steering angle
/// only. Calculates the angles of wheels from steering_limit, wheel_base,
/// and wheel_separation. Uses gz::msg::Double on default topic name
/// `/model/{name_of_model}/steer_angle`. Automatically set True when
/// `<use_actuator_msg>` is True, uses defaults topic name "/actuators".
///
/// `<use_actuator_msg>` True to enable the use of actutor message
/// - `<use_actuator_msg>` True to enable the use of actutor message
/// for steering angle command. Relies on `<actuator_number>` for the
/// index of the position actuator and defaults to topic "/actuators".
///
/// `<actuator_number>` used with `<use_actuator_commands>` to set
/// - `<actuator_number>` used with `<use_actuator_commands>` to set
/// the index of the steering angle position actuator.
///
/// `<steer_p_gain>`: Float used to control the steering angle P gain.
/// - `<steer_p_gain>`: Float used to control the steering angle P gain.
/// Only used for when in steering_only mode.
///
/// `<left_joint>`: Name of a joint that controls a left wheel. This
/// - `<left_joint>`: Name of a joint that controls a left wheel. This
/// element can appear multiple times, and must appear at least once.
///
/// `<right_joint>`: Name of a joint that controls a right wheel. This
/// - `<right_joint>`: Name of a joint that controls a right wheel. This
/// element can appear multiple times, and must appear at least once.
///
/// `<left_steering_joint>`: Name of a joint that controls steering for
/// left wheel. This element must appear once. Vehicles that steer
/// rear wheels are not currently correctly supported.
/// - `<left_steering_joint>`: Name of a joint that controls steering for
/// left wheel. This element must appear once. Vehicles that steer
/// rear wheels are not currently correctly supported.
///
/// `<right_steering_joint>`: Name of a joint that controls steering for
/// right wheel. This element must appear once.
/// - `<right_steering_joint>`: Name of a joint that controls steering for
/// right wheel. This element must appear once.
///
/// `<wheel_separation>`: Distance between wheels, in meters. This element
/// - `<wheel_separation>`: Distance between wheels, in meters. This element
/// is optional, although it is recommended to be included with an
/// appropriate value. The default value is 1.0m.
///
/// `<kingpin_width>`: Distance between wheel kingpins, in meters. This
/// - `<kingpin_width>`: Distance between wheel kingpins, in meters. This
/// element is optional, although it is recommended to be included with an
/// appropriate value. The default value is 0.8m. Generally a bit smaller
/// than the wheel_separation.
///
/// `<wheel_base>`: Distance between front and rear wheels, in meters. This
/// - `<wheel_base>`: Distance between front and rear wheels, in meters. This
/// element is optional, although it is recommended to be included with an
/// appropriate value. The default value is 1.0m.
///
/// `<steering_limit>`: Value to limit steering to. Can be calculated by
/// - `<steering_limit>`: Value to limit steering to. Can be calculated by
/// measuring the turning radius and wheel_base of the real vehicle.
/// steering_limit = asin(wheel_base / turning_radius)
/// The default value is 0.5 radians.
///
/// `<wheel_radius>`: Wheel radius in meters. This element is optional,
/// - `<wheel_radius>`: Wheel radius in meters. This element is optional,
/// although it is recommended to be included with an appropriate value. The
/// default value is 0.2m.
///
/// `<odom_publish_frequency>`: Odometry publication frequency. This
/// - `<odom_publish_frequency>`: Odometry publication frequency. This
/// element is optional, and the default value is 50Hz.
///
/// `<min_velocity>`: Minimum velocity [m/s], usually <= 0.
/// `<max_velocity>`: Maximum velocity [m/s], usually >= 0.
/// `<min_acceleration>`: Minimum acceleration [m/s^2], usually <= 0.
/// `<max_acceleration>`: Maximum acceleration [m/s^2], usually >= 0.
/// `<min_jerk Minimum>`: jerk [m/s^3], usually <= 0.
/// `<max_jerk Maximum>`: jerk [m/s^3], usually >= 0.
/// - `<min_velocity>`: Minimum velocity [m/s], usually <= 0.
/// - `<max_velocity>`: Maximum velocity [m/s], usually >= 0.
/// - `<min_acceleration>`: Minimum acceleration [m/s^2], usually <= 0.
/// - `<max_acceleration>`: Maximum acceleration [m/s^2], usually >= 0.
/// - `<min_jerk Minimum>`: jerk [m/s^3], usually <= 0.
/// - `<max_jerk Maximum>`: jerk [m/s^3], usually >= 0.
///
/// `<topic>`: Custom topic that this system will subscribe to in order to
/// - `<topic>`: Custom topic that this system will subscribe to in order to
/// receive command messages. This element is optional, and the
/// default value is `/model/{name_of_model}/cmd_vel` or when steering_only
/// is true `/model/{name_of_model}/steer_angle`.
///
/// `<sub_topic>`: Custom sub_topic that this system will subscribe to in
/// - `<sub_topic>`: Custom sub_topic that this system will subscribe to in
/// order to receive command messages. This element is optional, and
/// creates a topic `/model/{name_of_model}/{sub_topic}`
///
/// `<odom_topic>`: Custom topic on which this system will publish odometry
/// - `<odom_topic>`: Custom topic on which this system will publish odometry
/// messages. This element if optional, and the default value is
/// `/model/{name_of_model}/odometry`.
///
/// `<tf_topic>`: Custom topic on which this system will publish the
/// - `<tf_topic>`: Custom topic on which this system will publish the
/// transform from `frame_id` to `child_frame_id`. This element is optional,
/// and the default value is `/model/{name_of_model}/tf`.
///
/// `<frame_id>`: Custom `frame_id` field that this system will use as the
/// - `<frame_id>`: Custom `frame_id` field that this system will use as the
/// origin of the odometry transform in both the `<tf_topic>`
/// `gz.msgs.Pose_V` message and the `<odom_topic>`
/// `gz.msgs.Odometry` message. This element if optional, and the
/// default value is `{name_of_model}/odom`.
///
/// `<child_frame_id>`: Custom `child_frame_id` that this system will use as
/// - `<child_frame_id>`: Custom `child_frame_id` that this system will use as
/// the target of the odometry transform in both the `<tf_topic>`
/// `gz.msgs.Pose_V` message and the `<odom_topic>`
/// `gz.msgs.Odometry` message. This element if optional,
/// gz.msgs.Pose_V message and the `<odom_topic>`
/// gz.msgs.Odometry message. This element is optional,
/// and the default value is `{name_of_model}/{name_of_link}`.
///
/// A robot with rear drive and front steering would have one each
/// of left_joint, right_joint, left_steering_joint and
/// right_steering_joint
/// right_steering_joint.
///
/// References:
/// https://github.com/gazebosim/gz-sim/tree/main/src/systems/ackermann_steering
/// https://www.auto.tuwien.ac.at/bib/pdf_TR/TR0183.pdf
/// https://github.com/froohoo/ackermansteer/blob/master/ackermansteer/
/// - https://github.com/gazebosim/gz-sim/tree/main/src/systems/ackermann_steering
/// - https://www.auto.tuwien.ac.at/bib/pdf_TR/TR0183.pdf
/// - https://github.com/froohoo/ackermansteer/blob/master/ackermansteer/


class AckermannSteering
Expand Down
2 changes: 2 additions & 0 deletions src/systems/acoustic_comms/AcousticComms.hh
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ namespace systems
/// * <seed> : Seed value to be used for random sampling.
///
/// Here's an example:
/// ```
/// <plugin
/// filename="gz-sim-acoustic-comms-system"
/// name="gz::sim::systems::AcousticComms">
Expand All @@ -93,6 +94,7 @@ namespace systems
/// </propagation_model>
///
/// </plugin>
/// ```

class AcousticComms:
public gz::sim::comms::ICommsModel
Expand Down
Loading
Loading