Skip to content

Commit 644e008

Browse files
Merge lynx_description and panther_description into husarion_ugv_descriptions (#456)
* Merge panther and lynx description pkg * Fix path * Add lynx mesh and use base_footprint * Update husarion_ugv_description/urdf/common/gazebo.urdf.xacro * Fix simulation * husarion_ugv_description -> husarion_ugv_descriptions * base_link -> base_footprint * Use base_link in configs * husarion_ugv_description -> husarion_ugv_descriptions * husarion_ugv_descriptions -> husarion_ugv_description
1 parent 99c941e commit 644e008

File tree

76 files changed

+681
-712
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+681
-712
lines changed

.pre-commit-config.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
repos:
22
- repo: https://github.com/pre-commit/pre-commit-hooks
3-
rev: v4.6.0
3+
rev: v5.0.0
44
hooks:
55
- id: check-added-large-files
66
# mesh files has to be taken into account
@@ -34,7 +34,7 @@ repos:
3434
- id: cmake-format
3535

3636
- repo: https://github.com/pre-commit/mirrors-clang-format
37-
rev: v18.1.8
37+
rev: v19.1.3
3838
hooks:
3939
- id: clang-format
4040

@@ -63,7 +63,7 @@ repos:
6363
args: [--mapping, '2', --sequence, '4', --offset, '2', --width, '100']
6464

6565
- repo: https://github.com/psf/black
66-
rev: 24.8.0
66+
rev: 24.10.0
6767
hooks:
6868
- id: black
6969
args: ["--line-length=99"]
@@ -87,11 +87,11 @@ repos:
8787

8888
# Docs - RestructuredText hooks
8989
- repo: https://github.com/PyCQA/doc8
90-
rev: v1.1.1
90+
rev: v1.1.2
9191
hooks:
9292
- id: doc8
9393
args: ["--max-line-length=100", "--ignore=D001"]
94-
exclude: ^.*\/CHANGELOG\.rst/.*$
94+
exclude: ^.*\/CHANGELOG\.rst$
9595

9696
- repo: https://github.com/tier4/pre-commit-hooks-ros
9797
rev: v0.10.0

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ Launch arguments are largely common to both simulation and physical robot. Howev
8989
||| `add_world_transform` | Adds a world frame that connects the tf trees of individual robots (useful when running multiple robots). <br/> ***bool:*** `False` |
9090
||| `animations_config_path` | Path to a YAML file with a description of led configuration. This file includes definition of robot panels, virtual segments and default animations. <br/> ***string:*** [`{robot_model}_animations.yaml`](./husarion_ugv_lights/config) |
9191
||| `battery_config_path` | Path to the Ignition LinearBatteryPlugin configuration file. This configuration is intended for use in simulations only. <br/> ***string:*** `None` |
92-
||| `components_config_path` | Additional components configuration file. Components described in this file are dynamically included in robot's URDF. Available options are described in [the manual](https://husarion.com/manuals/panther/panther-options). <br/> ***string:*** [`components.yaml`](./panther_description/config/components.yaml) |
92+
||| `components_config_path` | Additional components configuration file. Components described in this file are dynamically included in robot's URDF. Available options are described in [the manual](https://husarion.com/manuals/panther/panther-options). <br/> ***string:*** [`components.yaml`](./husarion_ugv_description/config/components.yaml) |
9393
||| `controller_config_path` | Path to controller configuration file. A path to custom configuration can be specified here. <br/> ***string:*** [`{wheel_type}_controller.yaml`](./husarion_ugv_controller/config/) |
9494
||| `disable_manager` | Enable or disable manager_bt_node. <br/> ***bool:*** `False` |
9595
||| `fuse_gps` | Include GPS for data fusion. <br/> ***bool:*** `False` |
@@ -111,11 +111,11 @@ Launch arguments are largely common to both simulation and physical robot. Howev
111111
||| `use_rviz` | Run RViz simultaneously. <br/> ***bool:*** `True` |
112112
||| `use_sim` | Whether simulation is used. <br/> ***bool:*** `False` |
113113
||| `user_led_animations_path` | Path to a YAML file with a description of the user-defined animations. <br/> ***string:*** `''` |
114-
||| `wheel_config_path` | Path to wheel configuration file. <br/> ***string:*** [`{wheel_type}.yaml`](./panther_description/config) |
114+
||| `wheel_config_path` | Path to wheel configuration file. <br/> ***string:*** [`{wheel_type}.yaml`](./husarion_ugv_description/config) |
115115
||| `wheel_type` | Specify the wheel type. If the selected wheel type is not 'custom', the wheel_config_path and controller_config_path arguments will be automatically adjusted and can be omitted. <br/> ***string:*** `WH01` (for Panther), `WH05` (for Lynx) (choices: `WH01`, `WH02`, `WH04`, `WH05`, `custom`) |
116116
||| `x` | Initial robot position in the global 'x' axis. <br/> ***float:*** `0.0` |
117117
||| `y` | Initial robot position in the global 'y' axis. <br/> ***float:***` -2.0` |
118-
||| `z` | Initial robot position in the global 'z' axis. <br/> ***float:*** `0.0` |
118+
||| `z` | Initial robot position in the global 'z' axis. <br/> ***float:*** `0.2` |
119119
||| `roll` | Initial robot 'roll' orientation. <br/> ***float:*** `0.0` |
120120
||| `pitch` | Initial robot 'pitch' orientation. <br/> ***float:*** `0.0` |
121121
||| `yaw` | Initial robot 'yaw' orientation. <br/> ***float:*** `0.0` |

husarion_ugv/CHANGELOG.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2-
Changelog for package panther
2+
Changelog for package husarion_ugv
33
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44

55
2.1.2 (2024-12-02)

husarion_ugv_battery/CHANGELOG.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2-
Changelog for package panther_battery
2+
Changelog for package husarion_ugv_battery
33
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44

55
2.1.2 (2024-12-02)

husarion_ugv_bringup/CHANGELOG.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2-
Changelog for package panther_bringup
2+
Changelog for package husarion_ugv_bringup
33
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44

55
2.1.2 (2024-12-02)

husarion_ugv_controller/CHANGELOG.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2-
Changelog for package panther_controller
2+
Changelog for package husarion_ugv_controller
33
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44

55
2.1.2 (2024-12-02)

husarion_ugv_controller/CONFIGURATION.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ The default drive controller is based on [diff_drive_controller](https://control
66

77
## Changing Wheel Type
88

9-
Changing wheel types is possible and can be done for both the real robot and the simulation. By default, three types of wheels are supported using the launch argument `wheel_type`. If you want to use custom wheels, all you need to do is point to the new wheel and controller configuration files using the `wheel_config_path` and `controller_config_path` parameters. These files should be based on the default files, i.e. [WH01_controller.yaml](./config/WH01_controller.yaml) and [WH01.yaml](../panther_description/config/WH01.yaml).
9+
Changing wheel types is possible and can be done for both the real robot and the simulation. By default, three types of wheels are supported using the launch argument `wheel_type`. If you want to use custom wheels, all you need to do is point to the new wheel and controller configuration files using the `wheel_config_path` and `controller_config_path` parameters. These files should be based on the default files, i.e. [WH01_controller.yaml](./config/WH01_controller.yaml) and [WH01.yaml](../husarion_ugv_description/config/WH01.yaml).

husarion_ugv_controller/launch/controller.launch.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -148,14 +148,14 @@ def generate_launch_description():
148148
"wheel_config_path",
149149
default_value=PathJoinSubstitution(
150150
[
151-
FindPackageShare(robot_description_pkg),
151+
FindPackageShare("husarion_ugv_description"),
152152
"config",
153153
PythonExpression(["'", wheel_type, ".yaml'"]),
154154
]
155155
),
156156
description=(
157157
"Path to wheel configuration file. By default, it is located in "
158-
"'panther_description/config/{wheel_type}.yaml'. You can also specify the path "
158+
"'husarion_ugv_description/config/{wheel_type}.yaml'. You can also specify the path "
159159
"to your custom wheel configuration file here. "
160160
),
161161
)
@@ -173,23 +173,19 @@ def generate_launch_description():
173173
)
174174

175175
# Get URDF via xacro
176-
robot_description_file = PythonExpression(["'", robot_model, ".urdf.xacro'"])
177176
imu_pos_x = os.environ.get("ROBOT_IMU_LOCALIZATION_X", "0.168")
178177
imu_pos_y = os.environ.get("ROBOT_IMU_LOCALIZATION_Y", "0.028")
179178
imu_pos_z = os.environ.get("ROBOT_IMU_LOCALIZATION_Z", "0.083")
180179
imu_rot_r = os.environ.get("ROBOT_IMU_ORIENTATION_R", "3.14")
181180
imu_rot_p = os.environ.get("ROBOT_IMU_ORIENTATION_P", "-1.57")
182181
imu_rot_y = os.environ.get("ROBOT_IMU_ORIENTATION_Y", "0.0")
182+
urdf_file = PythonExpression(["'", robot_model, ".urdf.xacro'"])
183183
robot_description_content = Command(
184184
[
185185
PathJoinSubstitution([FindExecutable(name="xacro")]),
186186
" ",
187187
PathJoinSubstitution(
188-
[
189-
FindPackageShare(robot_description_pkg),
190-
"urdf",
191-
robot_description_file,
192-
]
188+
[FindPackageShare("husarion_ugv_description"), "urdf", urdf_file]
193189
),
194190
" use_sim:=",
195191
use_sim,

husarion_ugv_controller/package.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,13 @@
1818

1919
<exec_depend>controller_manager</exec_depend>
2020
<exec_depend>diff_drive_controller</exec_depend>
21+
<exec_depend>husarion_ugv_description</exec_depend>
2122
<exec_depend condition="$HUSARION_ROS_BUILD_TYPE == hardware">husarion_ugv_hardware_interfaces</exec_depend>
2223
<exec_depend>imu_sensor_broadcaster</exec_depend>
2324
<exec_depend>joint_state_broadcaster</exec_depend>
2425
<exec_depend>launch</exec_depend>
2526
<exec_depend>launch_ros</exec_depend>
26-
<exec_depend>lynx_description</exec_depend>
2727
<exec_depend>mecanum_drive_controller</exec_depend>
28-
<exec_depend>panther_description</exec_depend>
2928
<exec_depend>robot_state_publisher</exec_depend>
3029
<exec_depend>xacro</exec_depend>
3130

panther_description/CHANGELOG.rst renamed to husarion_ugv_description/CHANGELOG.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2-
Changelog for package panther_description
2+
Changelog for package husarion_ugv_description
33
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44

55
2.1.2 (2024-12-02)
Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
cmake_minimum_required(VERSION 3.10.2)
2-
project(panther_description)
2+
project(husarion_ugv_description)
33

44
find_package(ament_cmake REQUIRED)
55

66
install(DIRECTORY config launch meshes rviz urdf
77
DESTINATION share/${PROJECT_NAME})
88

9-
ament_environment_hooks(
10-
"${CMAKE_CURRENT_SOURCE_DIR}/hooks/${PROJECT_NAME}.sh.in")
9+
ament_environment_hooks("${CMAKE_CURRENT_SOURCE_DIR}/hooks/setup_envs.sh.in")
1110

1211
ament_package()
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
1-
# panther_description
1+
# husarion_ugv_description
22

33
The package contains URDF files responsible for creating a representation of the robot by specifying the relationships and types of connections (joints) between individual links. It also contains information about the robot's mesh.
44

55
## Launch Files
66

77
- `load_urdf.launch.py` - loads the robot's URDF and creates simple bindings to display moving joints.
8+
- `overwrite_robot_description.launch.py` - launch is able to change `robot_description` topic in runtime.
9+
- `rviz.launch.py` - launch RViz2 with basic configuration.
810

911
## Configuration Files
1012

1113
- [`components.yaml`](./config/components.yaml): Allows you to quickly add visualization of sensors, TF connections and simulate their behavior in the simulator.
1214
- [`WH01.yaml`](./config/WH01.yaml): Description of physical and visual parameters for the wheel WH01.
1315
- [`WH02.yaml`](./config/WH02.yaml): Description of physical and visual parameters for the wheel WH02.
1416
- [`WH04.yaml`](./config/WH04.yaml): Description of physical and visual parameters for the wheel WH04.
17+
- [`WH05.yaml`](./config/WH05.yaml): Description of physical and visual parameters for the wheel WH05.

panther_description/config/WH01.yaml renamed to husarion_ugv_description/config/WH01.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ wheel_separation: 0.697
44
mass: 3.0
55
inertia: { ixx: 0.022510, iyy: 0.034850, izz: 0.022510 }
66
inertia_y_offset: 0.0
7-
mesh_package: panther_description
7+
mesh_package: husarion_ugv_description
88
folder_path: meshes/WH01
99
mecanum: False

panther_description/config/WH02.yaml renamed to husarion_ugv_description/config/WH02.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ wheel_separation: 0.6785
44
mass: 2.4
55
inertia: { ixx: 0.010050, iyy: 0.016496, izz: 0.010068 }
66
inertia_y_offset: 0.0
7-
mesh_package: panther_description
7+
mesh_package: husarion_ugv_description
88
folder_path: meshes/WH02
99
mecanum: True

panther_description/config/WH04.yaml renamed to husarion_ugv_description/config/WH04.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ wheel_separation: 0.616
44
mass: 0.85
55
inertia: { ixx: 0.003099, iyy: 0.005849, izz: 0.003101 }
66
inertia_y_offset: 0.0
7-
mesh_package: panther_description
7+
mesh_package: husarion_ugv_description
88
folder_path: meshes/WH04
99
mecanum: False

lynx_description/config/WH05.yaml renamed to husarion_ugv_description/config/WH05.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ wheel_separation: 0.45
55
mass: 2.5
66
inertia: { ixx: 0.014738, iyy: 0.0261, izz: 0.014738 }
77
inertia_y_offset: 0.0
8-
mesh_package: lynx_description
8+
mesh_package: husarion_ugv_description
99
folder_path: meshes/WH05
1010
mecanum: False

panther_description/config/components.yaml renamed to husarion_ugv_description/config/components.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# By default panther is loaded without any components.
1+
# By default Husarion UGV is loaded without any components.
22

33
components: []
44

0 commit comments

Comments
 (0)