{"id":21057960,"url":"https://github.com/lilingxi01/cas_ws","last_synced_at":"2026-03-05T13:03:10.441Z","repository":{"id":169232253,"uuid":"637566285","full_name":"lilingxi01/cas_ws","owner":"lilingxi01","description":"Collision Avoidance System (Robotics) - Implemented using ROS Noetic (with Python), YOLOv8, OpenCV, and Kalman Filter.","archived":false,"fork":false,"pushed_at":"2023-05-25T03:59:49.000Z","size":614,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-10T15:57:53.882Z","etag":null,"topics":["collision-avoidance","collision-detection","kalman-filter","opencv","robotics","ros","ros-noetic","yolov8"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lilingxi01.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-05-07T23:49:33.000Z","updated_at":"2025-03-28T12:59:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"3ac9740c-2f23-4cf9-980a-abadee7b752f","html_url":"https://github.com/lilingxi01/cas_ws","commit_stats":null,"previous_names":["lilingxi01/cas_ws"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lilingxi01/cas_ws","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lilingxi01%2Fcas_ws","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lilingxi01%2Fcas_ws/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lilingxi01%2Fcas_ws/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lilingxi01%2Fcas_ws/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lilingxi01","download_url":"https://codeload.github.com/lilingxi01/cas_ws/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lilingxi01%2Fcas_ws/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30127218,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T12:40:50.676Z","status":"ssl_error","status_checked_at":"2026-03-05T12:39:32.209Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["collision-avoidance","collision-detection","kalman-filter","opencv","robotics","ros","ros-noetic","yolov8"],"created_at":"2024-11-19T17:05:55.291Z","updated_at":"2026-03-05T13:03:10.433Z","avatar_url":"https://github.com/lilingxi01.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://imagedelivery.net/Dr98IMl5gQ9tPkFM5JRcng/921d64c3-8673-48e5-e056-eb899cfda800/HD\" alt=\"Cover\"/\u003e\n\n**Demo recording: https://share.cleanshot.com/xZDJdJ6b**\n\n**Link to presentation recording: https://t.ly/YCy4**\n\n# Get Started\n\nBefore doing anything, you need to clone this repository to your local computer, and run following commands for installing all dependencies:\n\n```bash\ncd /path/to/cas_ws\npip install -r requirements.txt\n```\n\nIf 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`):\n\n```bash\nsudo apt-get install python3-opencv\npip install ultralytics\n```\n\n## Build this workspace\n\nYou need to build this workspace using Catkin tools.\n\n```bash\ncd /path/to/cas_ws\ncatkin build\n```\n\n## Source this workspace\n\nFor bash terminal as an example:\n\n```bash\ncd /path/to/cas_ws\nsource cas_setup.bash\nsource devel/setup.bash\n```\n\n## How to start the CAS evaluation with simulator\n\nThis launch file will start the CAS core node with CAS simulator and automatically start spawning balls.\n\n```bash\nroslaunch cas_core sim.launch\n```\n\n## How to start the simulator only\n\nAfter building this workspace, you can launch the simulator by using the simulation launch file:\n\n```bash\nroslaunch cas_simulator map.launch\n```\n\n# Within Packages\n\n1. `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.\n   * `__init__.py` - The core file of the package. It contains the main lifecycle of CAS and calls all other components accordingly.\n   * `frame.py` - A sub-module for aligning frames (assigning balls) between different time steps.\n   * `kalman.py` - A sub-module for Kalman Filter.\n   * `sim_helper.py` - Helper functions for enabling simulation ball-shooting actions.\n2. `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.\n\n# Additional Resources\n\n* Frame Mapping Algorithm (Google Colab): https://t.ly/ZdXd\n* Kalman Filter Module (Google Colab): https://t.ly/9cBbm\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flilingxi01%2Fcas_ws","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flilingxi01%2Fcas_ws","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flilingxi01%2Fcas_ws/lists"}