diff --git a/.github/workflows/spellcheck.yaml b/.github/workflows/spellcheck.yaml
new file mode 100644
index 00000000..a35fb0c1
--- /dev/null
+++ b/.github/workflows/spellcheck.yaml
@@ -0,0 +1,14 @@
+name: Spellcheck Action
+
+on:
+ workflow_call:
+ push:
+
+jobs:
+ build:
+ name: Spellcheck
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: rojopolis/spellcheck-github-actions@0.33.1
+ name: Spellcheck
diff --git a/.pyspelling.yaml b/.pyspelling.yaml
new file mode 100644
index 00000000..df8259ca
--- /dev/null
+++ b/.pyspelling.yaml
@@ -0,0 +1,53 @@
+matrix:
+- name: Python Source
+ aspell:
+ lang: en
+ d: en_US
+ camel-case: true
+ sources:
+ - 'rosbot*/**/*.py'
+
+ dictionary:
+ encoding: utf-8
+ output: wordlist.dic
+ wordlists:
+ - .wordlist.txt
+
+ pipeline:
+ - pyspelling.filters.python:
+ comments: true
+
+- name: Markdown sources
+ aspell:
+ lang: en
+ d: en_US
+ camel-case: true
+ sources:
+ - 'rosbot*/**/*.md'
+ - 'rosbot*/**/*.txt'
+ dictionary:
+ encoding: utf-8
+ output: wordlist.dic
+ wordlists:
+ - .wordlist.txt
+
+ pipeline:
+ - pyspelling.filters.text
+
+- name: XML sources
+ aspell:
+ lang: en
+ d: en_US
+ camel-case: true
+ sources:
+ - 'rosbot*/**/*.xacro'
+ - 'rosbot*/**/*.urdf'
+ - 'rosbot*/**/*.xml'
+ dictionary:
+ encoding: utf-8
+ output: wordlist.dic
+ wordlists:
+ - .wordlist.txt
+
+ pipeline:
+ - pyspelling.filters.xml
diff --git a/.wordlist.txt b/.wordlist.txt
new file mode 100644
index 00000000..9b11955d
--- /dev/null
+++ b/.wordlist.txt
@@ -0,0 +1,61 @@
+wordlist
+wordlists
+pyspelling
+metapackage
+preconfigured
+colcon
+rosbot_xl_description
+vcs
+vcstool
+rosdep
+rosdistro
+Dockerfiles
+gamepad
+teleoperation
+laserscan
+amcl
+env
+usr
+ros
+husarion
+apache
+http
+www
+urdf
+xacro
+imu
+xl
+rosbot
+https
+cmake
+github
+ament
+Wojciechowski
+Stepien
+Nowak
+Nikolas
+ROSbot
+Maciej
+Krzysztof
+extrinsics
+Duc
+Dominik
+bringup
+gz
+ign
+Jakub
+Delicat
+mecanum
+fdir
+webots
+accelerometer
+cmd
+config
+rl
+rr
+unstamped
+vel
+msg
+lidar
+gpu
+gazebosim
diff --git a/README.md b/README.md
index c18c71e9..b0ed1e74 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@ ROS2 packages for ROSbot XL
### `rosbot_xl`
-Metapackeage that contains dependencies to other repositories. It is also used to define whether simulation dependencies should be used.
+Metapackage that contains dependencies to other repositories. It is also used to define whether simulation dependencies should be used.
### `rosbot_xl_bringup`
diff --git a/ROS_API.md b/ROS_API.md
index 41ebeb10..3cddc39d 100644
--- a/ROS_API.md
+++ b/ROS_API.md
@@ -1,5 +1,5 @@
Use `bringup.launch.py` from `rosbot_xl_bringup` to start all base functionalities for ROSbot XL. It consists of the following parts:
-- `scan_to_scan_filter_chain` from `laser_filters`, it subscribes to `/scan` topic and removes all points that are within the robot's footprint (defined by config `laser_filter.yaml` in `rosbot_xl_bringup` package). Filtered laserscan is then published on `/scan_filtered` topic
+- `scan_to_scan_filter_chain` from `laser_filters`, it subscribes to `/scan` topic and removes all points that are within the robot's footprint (defined by config `laser_filter.yaml` in `rosbot_xl_bringup` package). Filtered laser scan is then published on `/scan_filtered` topic
**Subscribes**
- `/scan` (_sensor_msgs/LaserScan_)
diff --git a/rosbot_xl/package.xml b/rosbot_xl/package.xml
index dbe17410..7e8a5dcb 100644
--- a/rosbot_xl/package.xml
+++ b/rosbot_xl/package.xml
@@ -4,7 +4,7 @@
rosbot_xl
0.8.3
- Meta package that contains all packages of Rosbot XL
+ Meta package that contains all packages of ROSbot XL
Apache License 2.0
Krzysztof Wojciechowski
diff --git a/wordlist.dic b/wordlist.dic
new file mode 100644
index 00000000..a4339c65
Binary files /dev/null and b/wordlist.dic differ