From bf359976011a20b04f33434706c434ab60457364 Mon Sep 17 00:00:00 2001 From: Dawid Date: Wed, 31 May 2023 10:26:00 +0200 Subject: [PATCH 1/6] update README --- README.md | 25 ++++++++++++++++++++++++- panther_bringup/README.md | 27 +++++++++++++++++++++++++++ panther_driver/README.md | 2 +- 3 files changed, 52 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 84d2fe6d4..f7ab896c9 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,9 @@ This will launch Gazebo and Rviz. ## Robot configuration -Parameters stored in [**panther_default.yaml**](./panther_bringup/config/panther_default.yaml) are generic and are overwritten with your specific panther configuration on start. +Parameters stored in [**panther_default.yaml**](./panther_bringup/config/panther_default.yaml) are generic and are overwritten with your specific Panther configuration on start. + +### Changing wheels type In order to change wheels used with your robot, add `wheel_type:=WH0X` to launch command as follows: ``` bash @@ -91,9 +93,30 @@ Possible wheels names: - `WH01`: default offroad wheels. - `WH02`: mecanum. - `WH04`: small pneumatic wheels. +- `custom`: custom wheels type. If you want to use custom wheels, use argument `wheel_config_file` where you provide a path to `wheel.yaml` file. The file has to be written in the same manner as default panther wheel configurations found in [**WH01.yaml**](./panther_description/config/WH01.yaml). +### Providing custom robot description + +By default Panther will launch the default robot description - raw robot without any sensors. There are two ways of providing custom robot description, which are described below. + +**a) Disabling the default robot state publisher** + +If you want to use a custom robot description from a different location within your project, you can disable the default `robot_state_publisher` and run it separately. To do this, use the `publish_robot_state` launch argument with a value of **false**: + +```bash +roslaunch panther_bringup bringup.launch publish_robot_state:=false +``` + +**b) Providing custom robot description** + +Alternatively, you can provide a custom robot description directly using the `robot_description` launch argument. For example: + +```bash +roslaunch panther_bringup bringup.launch robot_description:="xacro $(rospack find my_awesome_package)/urdf/panther.urdf.xacro" +``` + ## Shutting down User Computers You can shut down any computer within internal Panther's network. diff --git a/panther_bringup/README.md b/panther_bringup/README.md index 8132241b0..ac90515ed 100644 --- a/panther_bringup/README.md +++ b/panther_bringup/README.md @@ -1,3 +1,30 @@ # panther_bringup Package containing default config and launch files, necessary to start all base functionalities of the Husarion Panther robot. + +## Default nodes launched + +- `battery_node` - node responsible for monitoring and publishing internal battery state of the Husarion Panther robot. For more information refer to: [panther_battery](/panther_ros/panther_battery/README.md). +- `imu_manager` - nodelet managing Phidget Spatial IMU sensor. +- `lights_driver_node` - node responsible for displaying frames on the Husarion Panther robot LED panels. For more information refer to: [panther_lights](/panther_ros/panther_lights/README.md). +- `lights_controller_node` - node responsible for processing animations and publishing frames to be displayed on the Husarion Panther robot LED panels. For more information refer to: [panther_lights](/panther_ros/panther_lights/README.md). +- `manager_bt_node` - node responsible for managing the Husarion Panther robot. Designs a system handling LED panels, safety features and software shutdown of components. For more information refer to: [panther_manager](/panther_ros/panther_manager/README.md). +- `panther_driver` - node responsible for communication with motor controllers and computing inverse and forward kinematics of a robot. For more information refer to: [panther_driver](/panther_ros/panther_driver/README.md). +- `power_control` - node responsible for power management of the Husarion Panther robot. For more information refer to: [panther_power_control](/panther_ros/panther_power_control/README.md). +- `robot_state_publisher` - node publishing description of the Husarion Panther robot. For more information refer to: [panther_description](/panther_ros/panther_description/README.md). + +## Launch arguments + +- `bt_project_file` [*string*, default=**$(find panther_manager)/config/Panther106BT.btproj**]: path to BehaviorTree project used by `panther_manager`. Default value of this parameter depends on `panther_version` argument. For version 1.2 and above it is: **(find panther_manager)/config/Panther106BT.btproj**. +- `disable_manager` [*bool*, default=**false**]: allows to disable `panther_manager`, used for testing purposes. +- `namespace` [*string*, default=**panther**]: namespace to use with robot. +- `panther_common_config_file` [*string*, default=**$(find panther_bringup)/config/panther_common.yaml**]: path to yaml file with standard parameters used by the `driver_node`. +- `panther_version` [*float*, default=**1.0**]: robot version parsed using `PANTHER_ROBOT_VERSION` enironmental variable. +- `publish_robot_state` [*bool*, default=**true**]: whether to publish default Panther robot description. +- `robot_description` [*string*]: robot description in URDF format, by default parsed from **$(find panther_description)/urdf/panther.urdf.xacro**, with `wheel_config_path` specified by `wheel_config_file` launch argument and imu position parsed using `PANTHER_IMU_LOCALIZATION_X/Y/Z` and `PANTHER_IMU_ORIENTATION_R/P/Y` evironmental variables. +- `shutdown_hosts_config_file` [*string*, default=**$(find panther_bringup)/config/shutdown_hosts.yaml**]: path to YAML file with description of hosts to shutdown. +- `test_animations` [*bool*, default=**false**]: if true then something but i forgot what at this point +- `user_animations_file` [*string*, default=**None**]: optional parameter with path to yaml file with user defined animations. +- `wheel_config_file` [*string*, default=**$(find panther_description)/config/WH01.yaml**]: path to YAML file with wheel specyfication. value of this argument depends on `wheel_type` launch argument. +- `wheel_type` [*string*, default=**WH01**]: type of wheel, possible are: **WH01** - offroad, **WH02** - mecanum, **WH04** - small pneumatic, **custom** - custom wheel type (requires setting `wheel_config_file` argument accordingly). + diff --git a/panther_driver/README.md b/panther_driver/README.md index d2fae107a..686b36e81 100644 --- a/panther_driver/README.md +++ b/panther_driver/README.md @@ -55,4 +55,4 @@ For a `/joint_states` message is carrying given data: #### Kinematics type - explanation -The Panther robot can be configured with different wheels to match your needs, we provide 2 different kinematics types `differential`/`mecanum`. You can change the wheel type by providing an appropriate launch parameter with a path to the wheel configuration file - `wheel_config_file`. Basic wheel configuration files (*WH01.yaml, WH04.yaml*): are located in `panther_description` package. +The Panther robot can be configured with different wheels to match your needs, we provide 2 different kinematics types `differential`/`mecanum`. You can change the wheel type by providing an appropriate launch parameter with a path to the wheel configuration file - `wheel_config_file`. Basic wheel configuration files (*WH01.yaml, WH02.yaml, WH04.yaml*): are located in `panther_description` package. From 3946d4cf64015d73b7a3246e1020a67c48646c0b Mon Sep 17 00:00:00 2001 From: Dawid Date: Wed, 31 May 2023 10:52:52 +0200 Subject: [PATCH 2/6] fix paths --- panther_bringup/README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/panther_bringup/README.md b/panther_bringup/README.md index ac90515ed..44ebff120 100644 --- a/panther_bringup/README.md +++ b/panther_bringup/README.md @@ -4,14 +4,14 @@ Package containing default config and launch files, necessary to start all base ## Default nodes launched -- `battery_node` - node responsible for monitoring and publishing internal battery state of the Husarion Panther robot. For more information refer to: [panther_battery](/panther_ros/panther_battery/README.md). +- `battery_node` - node responsible for monitoring and publishing internal battery state of the Husarion Panther robot. For more information refer to: [panther_battery](../panther_battery/README.md). - `imu_manager` - nodelet managing Phidget Spatial IMU sensor. -- `lights_driver_node` - node responsible for displaying frames on the Husarion Panther robot LED panels. For more information refer to: [panther_lights](/panther_ros/panther_lights/README.md). -- `lights_controller_node` - node responsible for processing animations and publishing frames to be displayed on the Husarion Panther robot LED panels. For more information refer to: [panther_lights](/panther_ros/panther_lights/README.md). -- `manager_bt_node` - node responsible for managing the Husarion Panther robot. Designs a system handling LED panels, safety features and software shutdown of components. For more information refer to: [panther_manager](/panther_ros/panther_manager/README.md). -- `panther_driver` - node responsible for communication with motor controllers and computing inverse and forward kinematics of a robot. For more information refer to: [panther_driver](/panther_ros/panther_driver/README.md). -- `power_control` - node responsible for power management of the Husarion Panther robot. For more information refer to: [panther_power_control](/panther_ros/panther_power_control/README.md). -- `robot_state_publisher` - node publishing description of the Husarion Panther robot. For more information refer to: [panther_description](/panther_ros/panther_description/README.md). +- `lights_driver_node` - node responsible for displaying frames on the Husarion Panther robot LED panels. For more information refer to: [panther_lights](../panther_lights/README.md). +- `lights_controller_node` - node responsible for processing animations and publishing frames to be displayed on the Husarion Panther robot LED panels. For more information refer to: [panther_lights](../panther_lights/README.md). +- `manager_bt_node` - node responsible for managing the Husarion Panther robot. Designs a system handling LED panels, safety features and software shutdown of components. For more information refer to: [panther_manager](../panther_manager/README.md). +- `panther_driver` - node responsible for communication with motor controllers and computing inverse and forward kinematics of a robot. For more information refer to: [panther_driver](../panther_driver/README.md). +- `power_control` - node responsible for power management of the Husarion Panther robot. For more information refer to: [panther_power_control](../panther_power_control/README.md). +- `robot_state_publisher` - node publishing description of the Husarion Panther robot. For more information refer to: [panther_description](../panther_description/README.md). ## Launch arguments From df45a28216f3efd6e4e7ad2b988410f4a949b180 Mon Sep 17 00:00:00 2001 From: Dawid Kmak <73443304+KmakD@users.noreply.github.com> Date: Thu, 1 Jun 2023 14:08:22 +0200 Subject: [PATCH 3/6] Update panther_bringup/README.md Co-authored-by: rafal-gorecki <126687345+rafal-gorecki@users.noreply.github.com> --- panther_bringup/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/panther_bringup/README.md b/panther_bringup/README.md index 44ebff120..80c6e2bc6 100644 --- a/panther_bringup/README.md +++ b/panther_bringup/README.md @@ -1,6 +1,6 @@ # panther_bringup -Package containing default config and launch files, necessary to start all base functionalities of the Husarion Panther robot. +The package containing default configuration and launch files necessary to start all basic functionalities of the Husarion Panther robot. ## Default nodes launched From a4170e6400260b222623ded4f294bc4563586fec Mon Sep 17 00:00:00 2001 From: Dawid Kmak <73443304+KmakD@users.noreply.github.com> Date: Thu, 1 Jun 2023 14:08:40 +0200 Subject: [PATCH 4/6] Update panther_bringup/README.md Co-authored-by: rafal-gorecki <126687345+rafal-gorecki@users.noreply.github.com> --- panther_bringup/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/panther_bringup/README.md b/panther_bringup/README.md index 80c6e2bc6..2da4a48d1 100644 --- a/panther_bringup/README.md +++ b/panther_bringup/README.md @@ -10,7 +10,7 @@ The package containing default configuration and launch files necessary to start - `lights_controller_node` - node responsible for processing animations and publishing frames to be displayed on the Husarion Panther robot LED panels. For more information refer to: [panther_lights](../panther_lights/README.md). - `manager_bt_node` - node responsible for managing the Husarion Panther robot. Designs a system handling LED panels, safety features and software shutdown of components. For more information refer to: [panther_manager](../panther_manager/README.md). - `panther_driver` - node responsible for communication with motor controllers and computing inverse and forward kinematics of a robot. For more information refer to: [panther_driver](../panther_driver/README.md). -- `power_control` - node responsible for power management of the Husarion Panther robot. For more information refer to: [panther_power_control](../panther_power_control/README.md). +- `power_control` - node responsible for power management of the Husarion Panther robot. For more information refer to: [panther_power_control](../panther_power_control/README.md). - `robot_state_publisher` - node publishing description of the Husarion Panther robot. For more information refer to: [panther_description](../panther_description/README.md). ## Launch arguments From 89c1967bef18b5b9981c8da8b5369f1978be2eb6 Mon Sep 17 00:00:00 2001 From: Dawid Date: Thu, 1 Jun 2023 14:21:19 +0200 Subject: [PATCH 5/6] review fixes --- README.md | 2 +- panther_bringup/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f7ab896c9..4f5940404 100644 --- a/README.md +++ b/README.md @@ -84,7 +84,7 @@ Parameters stored in [**panther_default.yaml**](./panther_bringup/config/panther ### Changing wheels type -In order to change wheels used with your robot, add `wheel_type:=WH0X` to launch command as follows: +Changing the wheels requires changing the `wheel_type` parameter. To do this, you can use the following command by modifying the value of the wheel_type:=WH0X parameter: ``` bash roslaunch panther_bringup bringup.launch wheel_type:=WH02 ``` diff --git a/panther_bringup/README.md b/panther_bringup/README.md index 2da4a48d1..193241dbf 100644 --- a/panther_bringup/README.md +++ b/panther_bringup/README.md @@ -23,7 +23,7 @@ The package containing default configuration and launch files necessary to start - `publish_robot_state` [*bool*, default=**true**]: whether to publish default Panther robot description. - `robot_description` [*string*]: robot description in URDF format, by default parsed from **$(find panther_description)/urdf/panther.urdf.xacro**, with `wheel_config_path` specified by `wheel_config_file` launch argument and imu position parsed using `PANTHER_IMU_LOCALIZATION_X/Y/Z` and `PANTHER_IMU_ORIENTATION_R/P/Y` evironmental variables. - `shutdown_hosts_config_file` [*string*, default=**$(find panther_bringup)/config/shutdown_hosts.yaml**]: path to YAML file with description of hosts to shutdown. -- `test_animations` [*bool*, default=**false**]: if true then something but i forgot what at this point +- `test_animations` [*bool*, default=**false**]: enables service `/panther/lights/controller/set/image_animation` allowing to test animations based on provided images. - `user_animations_file` [*string*, default=**None**]: optional parameter with path to yaml file with user defined animations. - `wheel_config_file` [*string*, default=**$(find panther_description)/config/WH01.yaml**]: path to YAML file with wheel specyfication. value of this argument depends on `wheel_type` launch argument. - `wheel_type` [*string*, default=**WH01**]: type of wheel, possible are: **WH01** - offroad, **WH02** - mecanum, **WH04** - small pneumatic, **custom** - custom wheel type (requires setting `wheel_config_file` argument accordingly). From 6fe9c19d5555a6d1e72d7190baf7dfadaa4f46d8 Mon Sep 17 00:00:00 2001 From: Dawid Date: Thu, 1 Jun 2023 14:25:06 +0200 Subject: [PATCH 6/6] another fix --- panther_bringup/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/panther_bringup/README.md b/panther_bringup/README.md index 193241dbf..4149c3d1b 100644 --- a/panther_bringup/README.md +++ b/panther_bringup/README.md @@ -21,7 +21,7 @@ The package containing default configuration and launch files necessary to start - `panther_common_config_file` [*string*, default=**$(find panther_bringup)/config/panther_common.yaml**]: path to yaml file with standard parameters used by the `driver_node`. - `panther_version` [*float*, default=**1.0**]: robot version parsed using `PANTHER_ROBOT_VERSION` enironmental variable. - `publish_robot_state` [*bool*, default=**true**]: whether to publish default Panther robot description. -- `robot_description` [*string*]: robot description in URDF format, by default parsed from **$(find panther_description)/urdf/panther.urdf.xacro**, with `wheel_config_path` specified by `wheel_config_file` launch argument and imu position parsed using `PANTHER_IMU_LOCALIZATION_X/Y/Z` and `PANTHER_IMU_ORIENTATION_R/P/Y` evironmental variables. +- `robot_description` [*string*]: robot description in URDF format, parsed by default from **$(find panther_description)/urdf/panther.urdf.xacro**. URDF itself contains its own arguments that are responsible for wheel selection and imu position. - `shutdown_hosts_config_file` [*string*, default=**$(find panther_bringup)/config/shutdown_hosts.yaml**]: path to YAML file with description of hosts to shutdown. - `test_animations` [*bool*, default=**false**]: enables service `/panther/lights/controller/set/image_animation` allowing to test animations based on provided images. - `user_animations_file` [*string*, default=**None**]: optional parameter with path to yaml file with user defined animations.