https://github.com/lilingxi01/cas_ws
Collision Avoidance System (Robotics) - Implemented using ROS Noetic (with Python), YOLOv8, OpenCV, and Kalman Filter.
https://github.com/lilingxi01/cas_ws
collision-avoidance collision-detection kalman-filter opencv robotics ros ros-noetic yolov8
Last synced: 4 months ago
JSON representation
Collision Avoidance System (Robotics) - Implemented using ROS Noetic (with Python), YOLOv8, OpenCV, and Kalman Filter.
- Host: GitHub
- URL: https://github.com/lilingxi01/cas_ws
- Owner: lilingxi01
- License: mit
- Created: 2023-05-07T23:49:33.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-05-25T03:59:49.000Z (about 3 years ago)
- Last Synced: 2025-10-10T15:57:53.882Z (8 months ago)
- Topics: collision-avoidance, collision-detection, kalman-filter, opencv, robotics, ros, ros-noetic, yolov8
- Language: Python
- Homepage:
- Size: 600 KB
- Stars: 7
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

**Demo recording: https://share.cleanshot.com/xZDJdJ6b**
**Link to presentation recording: https://t.ly/YCy4**
# Get Started
Before doing anything, you need to clone this repository to your local computer, and run following commands for installing all dependencies:
```bash
cd /path/to/cas_ws
pip install -r requirements.txt
```
If you don't want to install them all, alternatively, you can choose to manually install the following (assuming that you already have installed the `rospy`):
```bash
sudo apt-get install python3-opencv
pip install ultralytics
```
## Build this workspace
You need to build this workspace using Catkin tools.
```bash
cd /path/to/cas_ws
catkin build
```
## Source this workspace
For bash terminal as an example:
```bash
cd /path/to/cas_ws
source cas_setup.bash
source devel/setup.bash
```
## How to start the CAS evaluation with simulator
This launch file will start the CAS core node with CAS simulator and automatically start spawning balls.
```bash
roslaunch cas_core sim.launch
```
## How to start the simulator only
After building this workspace, you can launch the simulator by using the simulation launch file:
```bash
roslaunch cas_simulator map.launch
```
# Within Packages
1. `cas_core` - This is the core package of Collision Avoidance System. It has all the core components for running the system (including object detection model, Kalman Filter, frame alignment, and action lifecycle) and the simulation.
* `__init__.py` - The core file of the package. It contains the main lifecycle of CAS and calls all other components accordingly.
* `frame.py` - A sub-module for aligning frames (assigning balls) between different time steps.
* `kalman.py` - A sub-module for Kalman Filter.
* `sim_helper.py` - Helper functions for enabling simulation ball-shooting actions.
2. `cas_simulator` - This is the package of CAS Simulator that is used to simulate the evaluation environment of the system. It includes autonomous ball-shooting algorithm that samples the ball-shooting direction and position based on the future trajectory of the robot to provide a reliable evaluation experience.
# Additional Resources
* Frame Mapping Algorithm (Google Colab): https://t.ly/ZdXd
* Kalman Filter Module (Google Colab): https://t.ly/9cBbm