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

New format of documentation #369

Merged
merged 47 commits into from
Aug 5, 2024
Merged
Show file tree
Hide file tree
Changes from 40 commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
23c8683
Change 3 package for demo
rafal-gorecki Jun 28, 2024
1934763
Improve ROS_API
rafal-gorecki Jun 28, 2024
41c7793
fix links
rafal-gorecki Jul 5, 2024
ae07c91
Update
rafal-gorecki Jul 10, 2024
e1c4d9e
Update
rafal-gorecki Jul 10, 2024
c0b9d2d
Table improvements
rafal-gorecki Jul 10, 2024
d8f8ee2
Format
rafal-gorecki Jul 10, 2024
9fbac59
Merge branch 'ros2-devel' into ros2-docs
rafal-gorecki Jul 15, 2024
a699c2a
Save work
rafal-gorecki Jul 16, 2024
8efc8e3
Save work
rafal-gorecki Jul 16, 2024
258bc89
update
rafal-gorecki Jul 16, 2024
348f06b
fix
rafal-gorecki Jul 16, 2024
4fa1417
fix
rafal-gorecki Jul 16, 2024
c46f945
fix
rafal-gorecki Jul 16, 2024
b101adc
fix
rafal-gorecki Jul 16, 2024
705b859
fix
rafal-gorecki Jul 16, 2024
d62eb32
Add API warning
rafal-gorecki Jul 17, 2024
b4c64b9
Improve links
rafal-gorecki Jul 17, 2024
b6b0e0c
lights simplify
rafal-gorecki Jul 17, 2024
5673bca
Create CONFIGURATION.md files
rafal-gorecki Jul 22, 2024
a469fb8
Typos
rafal-gorecki Jul 22, 2024
e628b77
Merge branch 'ros2-devel' into ros2-docs
rafal-gorecki Jul 22, 2024
8e5ef75
pre-commit
rafal-gorecki Jul 22, 2024
9f6c39c
Apply suggestions from code review
rafal-gorecki Jul 22, 2024
fb3c99b
Save work
rafal-gorecki Jul 23, 2024
6696964
Final unification
rafal-gorecki Jul 23, 2024
51f97e8
Delete trash
rafal-gorecki Jul 23, 2024
5fc5c84
typos
rafal-gorecki Jul 23, 2024
37797a4
Update README.md
rafal-gorecki Jul 25, 2024
d36beda
Update ROS_API.md
rafal-gorecki Jul 25, 2024
3749e49
Update ROS_API.md
rafal-gorecki Jul 25, 2024
b5c6582
Update README.md
rafal-gorecki Jul 25, 2024
eac3ade
Change initial warning to beta warning
rafal-gorecki Jul 25, 2024
e82eb1c
improve warn rendering
rafal-gorecki Jul 25, 2024
57410b9
rendering
rafal-gorecki Jul 25, 2024
7628166
Update Diagram
rafal-gorecki Jul 29, 2024
53f951c
Add Dawid suggestions
rafal-gorecki Jul 29, 2024
d5743a9
Dot
rafal-gorecki Jul 29, 2024
68f4b5c
Change diagram ext and typos
rafal-gorecki Jul 30, 2024
c9c63af
Do not describe external nodes
rafal-gorecki Jul 30, 2024
0901d9b
Add Dawid suggestons
rafal-gorecki Jul 30, 2024
d5dbdea
Add last Dawid suggestions
rafal-gorecki Jul 31, 2024
bbc649d
Format
rafal-gorecki Jul 31, 2024
28f8285
Pawel suggestions
rafal-gorecki Jul 31, 2024
694a7db
Diagram improvements
rafal-gorecki Aug 2, 2024
7a05202
Update
rafal-gorecki Aug 2, 2024
126677a
Diagram Visual
rafal-gorecki Aug 5, 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
4 changes: 4 additions & 0 deletions .docs/panther_ros2_api.drawio.svg
pawelirh marked this conversation as resolved.
Show resolved Hide resolved
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ repos:
"--ignore-words-list",
"ned" # north, east, down (NED)
]
exclude_types: [rst]
exclude_types: [rst, svg]
language: python
types: [text]

Expand Down
53 changes: 53 additions & 0 deletions README.md
KmakD marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ ROS 2 packages for Panther autonomous mobile robot

[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)

<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://github-readme-figures.s3.eu-central-1.amazonaws.com/panther/panther_ros/day_with_lights.png">
<img alt="Panther preview" src="https://github-readme-figures.s3.eu-central-1.amazonaws.com/panther/panther_ros/day_no_lights.png">
</picture>

## Quick start

### Create workspace
Expand Down Expand Up @@ -66,6 +71,54 @@ Simulation:
ros2 launch panther_gazebo simulation.launch.py
```

### Launch Arguments

Launch arguments are largely common to both simulation and physical robot. However, there is a group of arguments that apply only to hardware or only to the simulator. Below is a legend to the tables with all launch arguments.

| Symbol | Meaning |
| ------ | ---------------------------- |
| 🤖 | Available for physical robot |
| 🖥️ | Available in simulation |

| | Argument | Description <br/> ***Type:*** `Default` |
| --- | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 🖥️ | `add_wheel_joints` | Flag enabling joint_state_publisher to publish information about the wheel position. Should be false when there is a controller that sends this information. <br/> ***bool:*** `False` |
| 🖥️ | `add_world_transform` | Adds a world frame that connects the tf trees of individual robots (useful when running multiple robots). <br/> ***bool:*** `False` |
| 🖥️ | `battery_config_path` | Path to the Ignition LinearBatteryPlugin configuration file. This configuration is intended for use in simulations only. <br/> ***string:*** `None` |
| 🤖🖥️ | `components_config_path` | Additional components configuration file. Components described in this file are dynamically included in Panther's urdf. Panther options are described in [the manual](https://husarion.com/manuals/panther/panther-options). <br/> ***string:*** [`components.yaml`](./panther_description/config/components.yaml) |
| 🤖🖥️ | `controller_config_path` | Path to controller configuration file. A path to custom configuration can be specified here. <br/> ***string:*** [`{wheel_type}_controller.yaml`](./panther_controller/config/) |
| 🤖 | `disable_manager` | Enable or disable manager_bt_node. <br/> ***bool:*** `False` |
| 🤖🖥️ | `fuse_gps` | Include GPS for data fusion. <br/> ***bool:*** `False` |
| 🖥️ | `gz_bridge_config_path` | Path to the parameter_bridge configuration file. <br/> ***string:*** [`gz_bridge.yaml`](./panther_gazebo/config/gz_bridge.yaml) |
| 🖥️ | `gz_gui` | Run simulation with specific GUI layout. <br/> ***string:*** [`teleop.config`](https://github.com/husarion/husarion_gz_worlds/blob/main/config/teleop.config) |
| 🖥️ | `gz_headless_mode` | Run the simulation in headless mode. Useful when a GUI is not needed or to reduce the number of calculations. <br/> ***bool:*** `False` |
| 🖥️ | `gz_log_level` | Adjust the level of console output. <br/> ***int:*** `1` (choices: `0`, `1`, `2`, `3`, `4`) |
| 🖥️ | `gz_world` | Absolute path to SDF world file. <br/> ***string:*** [`husarion_world.sdf`](https://github.com/husarion/husarion_gz_worlds/blob/main/worlds/husarion_world.sdf) |
| 🤖🖥️ | `led_config_file` | 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:*** [`led_config.yaml`](./panther_lights/config/led_config.yaml) |
| 🤖🖥️ | `lights_bt_project_path` | Path to BehaviorTree project file, responsible for lights management. <br/> ***string:*** [`PantherLightsBT.btproj`](./panther_manager/behavior_trees/PantherLightsBT.btproj) |
| 🤖🖥️ | `localization_config_path` | Specify the path to the localization configuration file. <br/> ***string:*** [`relative_localization.yaml`](./panther_localization/config/relative_localization.yaml) |
| 🤖🖥️ | `localization_mode` | Specifies the localization mode: <br/>- 'relative' `odometry/filtered` data is relative to the initial position and orientation. <br/>- 'enu' `odometry/filtered` data is relative to initial position and ENU (East North Up) orientation. <br/> ***string:*** `relative` (choices: `relative`, `enu`) |
| 🤖🖥️ | `namespace` | Add namespace to all launched nodes. <br/> ***string:*** `env(ROBOT_NAMESPACE)` |
| 🤖🖥️ | `publish_robot_state` | Whether to publish the default Panther robot description. <br/> ***bool:*** `True` |
| 🖥️ | `robots` | The list of the robots spawned in the simulation e.g. `robots:='robot1={x: 1.0, y: -2.0}; robot2={x: 1.0, y: -4.0}'` <br/> ***string:*** `''` |
| 🤖🖥️ | `safety_bt_project_path` | Path to BehaviorTree project file, responsible for safety and shutdown management. <br/> ***string:*** [`PantherSafetyBT.btproj`](./panther_manager/behavior_trees/PantherSafetyBT.btproj) |
| 🤖🖥️ | `shutdown_hosts_config_path` | Path to file with list of hosts to request shutdown. <br/> ***string:*** [`shutdown_hosts.yaml`](./panther_manager/config/shutdown_hosts.yaml) |
| 🤖🖥️ | `use_ekf` | Enable or disable EKF. <br/> ***bool:*** `True` |
| 🤖🖥️ | `use_sim` | Whether simulation is used. <br/> ***bool:*** `False` |
| 🤖🖥️ | `user_led_animations_file` | Path to a YAML file with a description of the user-defined animations. <br/> ***string:*** `''` |
| 🤖🖥️ | `wheel_config_path` | Path to wheel configuration file. <br/> ***string:*** [`{wheel_type}.yaml`](./panther_description/config) |
| 🤖🖥️ | `wheel_type` | Type of wheel. If you choose a value from the preset options ('WH01', 'WH02', 'WH04'), you can ignore the 'wheel_config_path' and 'controller_config_path' parameters. For custom wheels, please define these parameters to point to files that accurately describe the custom wheels. <br/> ***string:*** `WH01` (choices: `WH01`, `WH02`, `WH04`, `custom`) |
| 🖥️ | `x` | Initial robot position in the global 'x' axis. <br/> ***float:*** `0.0` |
| 🖥️ | `y` | Initial robot position in the global 'y' axis. <br/> ***float:***` -2.0` |
| 🖥️ | `z` | Initial robot position in the global 'z' axis. <br/> ***float:*** `0.2` |
| 🖥️ | `roll` | Initial robot 'roll' orientation. <br/> ***float:*** `0.0` |
| 🖥️ | `pitch` | Initial robot 'pitch' orientation. <br/> ***float:*** `0.0` |
| 🖥️ | `yaw` | Initial robot 'yaw' orientation. <br/> ***float:*** `0.0` |

rafal-gorecki marked this conversation as resolved.
Show resolved Hide resolved
> [!TIP]
>
> To read the arguments for individual packages, add the `-s` flag to the `ros2 launch` command (e.g. `ros2 launch panther_bringup bringup.launch.py ​​-s`)

## Developer Info

### Setup pre-commit
Expand Down
Loading