diff --git a/.github/workflows/spellcheck.yaml b/.github/workflows/spellcheck.yaml new file mode 100644 index 00000000..b4d92885 --- /dev/null +++ b/.github/workflows/spellcheck.yaml @@ -0,0 +1,16 @@ +name: Spellcheck Action + +on: + pull_request: + push: + branches: + - humble + +jobs: + build: + name: Spellcheck + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: rojopolis/spellcheck-github-actions@0.33.1 + name: Spellcheck \ No newline at end of file diff --git a/.gitignore b/.gitignore index d668402f..23a6b052 100644 --- a/.gitignore +++ b/.gitignore @@ -8,5 +8,8 @@ log rosbot_hardware_interfaces/ ros_components_description/ rosbot_controllers/ -husarion/husarion_office_gz +husarion/gazebo_worlds gazebosim/gz_ros2_control + +# pyspelling +*.dic diff --git a/.pyspelling.yaml b/.pyspelling.yaml new file mode 100644 index 00000000..92205887 --- /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 \ No newline at end of file diff --git a/.wordlist.txt b/.wordlist.txt new file mode 100644 index 00000000..a0da9633 --- /dev/null +++ b/.wordlist.txt @@ -0,0 +1,120 @@ +Imu +IMU +JointState +LaserScan +MultiArray +Odometry +ROSbot +TFMessage +bringup +cmd +config +ekf +gazebosim +gz +https +husarion +imu +github +msg +msgs +nav +odom +odometry +py +ros +rosbot +tf +vel +yaml +DISTRO +LTS +Metapackage +ROSbots +SteveMacenski +URDF +cd +colcon +autoremove +cra +init +md +mkdir +preconfigured +repos +rosdep +rosdistro +src +sudo +teleop +ubuntu +vcs +vcstool +ws +ament +os +pytest +setuptools +xml +cmake +CMAKE +CXX +DLL +GNUCXX +PLUGINLIB +RUNTIME +Wextra +Wpedantic +ament +cmake +cpp +endif +lifecycle +pluginlib +rclcpp +realtime +urdf +xml +ROSbot's +ROSbots +xacro +MECANUM +dll +dllexport +dllimport +endforeach +foreach +mecanum +rcpputils +apache +http +unstamped +www +xl +SDF +astra +cfg +gpu +ign +orbbec +pointcloud +rl +rosgraph +rr +sdf +webots +accelerometer +vl +gaussian +fdir +Krzysztof +Maciej +Stępień +Stepien +Wojciechowski +gtest +Delicat +Jakub +Bence +Palacios +env \ No newline at end of file diff --git a/README.md b/README.md index 7640eb4f..80927f12 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ ROS2 packages for ROSbot 2R and ROSbot 2 PRO. Metapackage that contains dependencies to other repositories. ### `rosbot_bringup` -Package that contains launch, which starts all base functionalities. Also configs for [robot_localization](https://github.com/cra-ros-pkg/robot_localization) and [ros2_controllers](https://github.com/ros-controls/ros2_controllers) are defined there. +Package that contains launch, which starts all base functionalities. Also configuration for [robot_localization](https://github.com/cra-ros-pkg/robot_localization) and [ros2_controllers](https://github.com/ros-controls/ros2_controllers) are defined there. ### `rosbot_description` URDF model used as a source of transforms on the physical robot. It was written to be compatible with ROS Industrial and preconfigured for ROS2 control. @@ -31,7 +31,7 @@ For detailed instructions refer to the [rosbot_ros2_firmware repository](https:/ ### Prerequisites -Install `colcon`, `vsc` and `rosdep`: +Install `colcon`, `vcs` and `rosdep`: ``` sudo apt-get update sudo apt-get install -y python3-colcon-common-extensions python3-vcstool python3-rosdep @@ -63,7 +63,7 @@ colcon build ``` > **Prerequisites** -> +> > Before starting the software on the robot please make sure that you're using the latest firmware and run the `micro-ROS` agent (as described in the *Usage on hardware* step). Running: @@ -73,7 +73,7 @@ ros2 launch rosbot_bringup bringup.launch.py ``` ### Build and run Gazebo simulation -Prerequirements: +Prerequisites: > **Warning** > The simulation is compatible with the Gazebo Fortress LTS version. Use [this installation guide ](https://gazebosim.org/docs/fortress/install_ubuntu#binary-installation-on-ubuntu) to install the proper version and remove the another versions e. g. Gazebo Garden: diff --git a/ROS_API.md b/ROS_API.md index d4474a49..63336694 100644 --- a/ROS_API.md +++ b/ROS_API.md @@ -13,7 +13,7 @@ Use `bringup.launch.py` from `rosbot_bringup` to start all base functionalities - `controller.launch.py` from `rosbot_controller`, it loads robot model defined in `rosbot_description` as well as ros2 control [rosbot_hardware_interfaces](https://github.com/husarion/rosbot_hardware_interfaces). It also starts controllers: * `joint_state_broadcaster` - * `rosbot_base_controller` - `DiffDriveController` + * `rosbot_base_controller` * `imu_broadcaster` **Subscribes** @@ -30,4 +30,4 @@ Use `bringup.launch.py` from `rosbot_bringup` to start all base functionalities Use `simulation.launch.py` from `rosbot_gazebo` to start all base functionalities for ROSbot 2, 2 PRO, 2R in the Gazebo simulator. > **Warning** -> The distance sensors' topics types from Gazebo simulation mismatch with the real ones. The range sensors are not implemented yet in the Gazebo Ingition (for more informations look [here](https://github.com/gazebosim/gz-sensors/issues/19)). The real type is [sensor_msgs/msg/Range](https://github.com/ros2/common_interfaces/blob/rolling/sensor_msgs/msg/Range.msg) but simulated [sensor_msgs/msg/LaserScan](https://github.com/ros2/common_interfaces/blob/rolling/sensor_msgs/msg/LaserScan.msg). The first value of the `ranges` in [sensor_msgs/msg/LaserScan](https://github.com/ros2/common_interfaces/blob/rolling/sensor_msgs/msg/LaserScan.msg) is the `range` field of [sensor_msgs/msg/Range](https://github.com/ros2/common_interfaces/blob/rolling/sensor_msgs/msg/Range.msg). +> The distance sensors' topics types from Gazebo simulation mismatch with the real ones. The range sensors are not implemented yet in the Gazebo Ignition (for more information look [here](https://github.com/gazebosim/gz-sensors/issues/19)). The real type is [sensor_msgs/msg/Range](https://github.com/ros2/common_interfaces/blob/rolling/sensor_msgs/msg/Range.msg) but simulated [sensor_msgs/msg/LaserScan](https://github.com/ros2/common_interfaces/blob/rolling/sensor_msgs/msg/LaserScan.msg). The first value of the `ranges` in [sensor_msgs/msg/LaserScan](https://github.com/ros2/common_interfaces/blob/rolling/sensor_msgs/msg/LaserScan.msg) is the `range` field of [sensor_msgs/msg/Range](https://github.com/ros2/common_interfaces/blob/rolling/sensor_msgs/msg/Range.msg). diff --git a/rosbot_controller/launch/controller.launch.py b/rosbot_controller/launch/controller.launch.py index 9fa9c8b1..93620931 100644 --- a/rosbot_controller/launch/controller.launch.py +++ b/rosbot_controller/launch/controller.launch.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python3 - # Copyright 2020 ros2_control Development Team # Copyright 2023 Husarion # diff --git a/rosbot_gazebo/launch/simulation.launch.py b/rosbot_gazebo/launch/simulation.launch.py index 5e3600ff..3d863871 100644 --- a/rosbot_gazebo/launch/simulation.launch.py +++ b/rosbot_gazebo/launch/simulation.launch.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python3 - from launch import LaunchDescription from launch.actions import ( IncludeLaunchDescription,