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

Ros1 update docs #122

Merged
merged 6 commits into from
Jun 1, 2023
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
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
25 changes: 24 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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
Expand All @@ -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.
Expand Down
27 changes: 27 additions & 0 deletions panther_bringup/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,30 @@
# panther_bringup

Package containing default config and launch files, necessary to start all base functionalities of the Husarion Panther robot.
KmakD marked this conversation as resolved.
Show resolved Hide resolved

## 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_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_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).
KmakD marked this conversation as resolved.
Show resolved Hide resolved
- `robot_state_publisher` - node publishing description of the Husarion Panther robot. For more information refer to: [panther_description](../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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Complicated, maybe creating a list of sub-arguments would be better.

Suggested change
- `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.
- `wheel_config_path` reads the value of the `wheel_config_file` parameter
- changing the imu position is done by setting the environment variables `PANTHER_IMU_LOCALIZATION_X/Y/Z` and `PANTHER_IMU_ORIENTATION_R/P/Y`.

- `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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe you will find out. ;)
If I undersed it right lights readme this param turns on test mode, which allow you to test new animations using services.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

completely forgot about this 🤣

- `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).

2 changes: 1 addition & 1 deletion panther_driver/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.