Skip to content

Commit

Permalink
docs: code lint
Browse files Browse the repository at this point in the history
  • Loading branch information
SS47816 committed Mar 21, 2024
1 parent ea2e80c commit 2cddeab
Show file tree
Hide file tree
Showing 20 changed files with 163 additions and 106 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/industrial_ci_action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ jobs:
strategy:
matrix:
env:
- {ROS_DISTRO: noetic, ROS_REPO: testing}
- {ROS_DISTRO: noetic, ROS_REPO: main}
- { ROS_DISTRO: noetic, ROS_REPO: testing }
- { ROS_DISTRO: noetic, ROS_REPO: main }
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- uses: 'ros-industrial/industrial_ci@master'
- uses: "ros-industrial/industrial_ci@master"
env: ${{matrix.env}}
101 changes: 52 additions & 49 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# ME5413_Planning_Project

NUS ME5413 Autonomous Mobile Robotics Planning Project

> Authors: [Ziggy](https://github.com/ziggyhuang) and [Shuo](https://github.com/SS47816)
![Ubuntu 20.04](https://img.shields.io/badge/OS-Ubuntu_20.04-informational?style=flat&logo=ubuntu&logoColor=white&color=2bbc8a)
Expand All @@ -14,36 +15,36 @@ NUS ME5413 Autonomous Mobile Robotics Planning Project

## Dependencies

* System Requirements:
* Ubuntu 20.04 (18.04 not yet tested)
* ROS Noetic (Melodic not yet tested)
* C++11 and above
* CMake: 3.0.2 and above
* This repo depends on the following standard ROS pkgs:
* `roscpp`
* `rospy`
* `rviz`
* `std_msgs`
* `nav_msgs`
* `geometry_msgs`
* `visualization_msgs`
* `tf2`
* `tf2_ros`
* `tf2_eigen`
* `tf2_geometry_msgs`
* `gazebo_ros`
* `jsk_rviz_plugins`
* `jackal_gazebo`
* `jackal_navigation`
* `velodyne_simulator`
* `dynamic_reconfigure`
- System Requirements:
- Ubuntu 20.04 (18.04 not yet tested)
- ROS Noetic (Melodic not yet tested)
- C++11 and above
- CMake: 3.0.2 and above
- This repo depends on the following standard ROS pkgs:
- `roscpp`
- `rospy`
- `rviz`
- `std_msgs`
- `nav_msgs`
- `geometry_msgs`
- `visualization_msgs`
- `tf2`
- `tf2_ros`
- `tf2_eigen`
- `tf2_geometry_msgs`
- `gazebo_ros`
- `jsk_rviz_plugins`
- `jackal_gazebo`
- `jackal_navigation`
- `velodyne_simulator`
- `dynamic_reconfigure`

## Installation

This repo is a ros workspace, containing three rospkgs:

* `me5413_world` the main pkg containing the gazebo world, source code, and the launch files
* `jackal_description` contains the modified jackal robot model descriptions
- `me5413_world` the main pkg containing the gazebo world, source code, and the launch files
- `jackal_description` contains the modified jackal robot model descriptions

**Note:** If you are working on this project, it is encouraged to fork this repository and work on your own fork!

Expand All @@ -60,7 +61,7 @@ rosdep install --from-paths src --ignore-src -r -y

# Build
catkin_make
# Source
# Source
source devel/setup.bash
```

Expand Down Expand Up @@ -88,38 +89,40 @@ roslaunch me5413_world path_tracking.launch

## Student Tasks

* Control your robot to follow the given **figure 8** track.
* You may use any algorithms you like.
* Implement your algorithms in the `src/me5413_world/include/me5413_world/path_tracker_node.hpp` and `src/me5413_world/src/path_tracker_node.cpp`, to replace our template code.
* Test your algorithms on the track & Report your tracking accuracy.

* In the template code, we have provided you:
* A dumb **PID** controller for the throttle.
* A weird **Stanley** controller for the steering.
* However, both are not properly configured or tuned.

* We have provided you a dynamic reconfigure GUI that allows you to tune some of the parameters:

- Control your robot to follow the given **figure 8** track.

- You may use any algorithms you like.
- Implement your algorithms in the `src/me5413_world/include/me5413_world/path_tracker_node.hpp` and `src/me5413_world/src/path_tracker_node.cpp`, to replace our template code.
- Test your algorithms on the track & Report your tracking accuracy.

- In the template code, we have provided you:

- A dumb **PID** controller for the throttle.
- A weird **Stanley** controller for the steering.
- However, both are not properly configured or tuned.

- We have provided you a dynamic reconfigure GUI that allows you to tune some of the parameters:

![rqt_reconfig_image](src/me5413_world/media/rqt_reconfig.png)

* We also provides you six topics (and visualized in RVIZ) that computes the real-time errors between your robot and the tracking path:
* `/me5413_world/planning/abs_position_error` ([m], `std_msgs::Float32`)
* `/me5413_world/planning/abs_heading_error` ([deg], `std_msgs::Float32`)
* `/me5413_world/planning/abs_speed_error` ([m/s], `std_msgs::Float32`)
* `/me5413_world/planning/rms_position_error` ([m], `std_msgs::Float32`)
* `/me5413_world/planning/rms_heading_error` ([deg], `std_msgs::Float32`)
* `/me5413_world/planning/rms_speed_error` ([m/s], `std_msgs::Float32`)
- We also provides you six topics (and visualized in RVIZ) that computes the real-time errors between your robot and the tracking path:
- `/me5413_world/planning/abs_position_error` ([m], `std_msgs::Float32`)
- `/me5413_world/planning/abs_heading_error` ([deg], `std_msgs::Float32`)
- `/me5413_world/planning/abs_speed_error` ([m/s], `std_msgs::Float32`)
- `/me5413_world/planning/rms_position_error` ([m], `std_msgs::Float32`)
- `/me5413_world/planning/rms_heading_error` ([deg], `std_msgs::Float32`)
- `/me5413_world/planning/rms_speed_error` ([m/s], `std_msgs::Float32`)

## Contribution

You are welcome contributing to this repo by opening a pull-request

We are following:

* [Google C++ Style Guide](https://google.github.io/styleguide/cppguide.html),
* [C++ Core Guidelines](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#main),
* [ROS C++ Style Guide](http://wiki.ros.org/CppStyleGuide)
- [Google C++ Style Guide](https://google.github.io/styleguide/cppguide.html),
- [C++ Core Guidelines](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#main),
- [ROS C++ Style Guide](http://wiki.ros.org/CppStyleGuide)

## License

The [ME5413_Planning_Project](https://github.com/NUS-Advanced-Robotics-Centre/ME5413_Planning_Project) is released under the [MIT License](https://github.com/NUS-Advanced-Robotics-Centre/ME5413_Planning_Project/blob/main/LICENSE)
The [ME5413_Planning_Project](https://github.com/NUS-Advanced-Robotics-Centre/ME5413_Planning_Project) is released under the [MIT License](https://github.com/NUS-Advanced-Robotics-Centre/ME5413_Planning_Project/blob/main/LICENSE)
Loading

0 comments on commit 2cddeab

Please sign in to comment.