{"id":18488116,"url":"https://github.com/gaurang-1402/chatrobotaxi","last_synced_at":"2026-04-18T06:38:03.532Z","repository":{"id":198585153,"uuid":"699957201","full_name":"Gaurang-1402/ChatRoboTaxi","owner":"Gaurang-1402","description":"🚗 Self-driving car controlled by natural language","archived":false,"fork":false,"pushed_at":"2023-10-05T00:16:41.000Z","size":77811,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-13T22:29:09.133Z","etag":null,"topics":["gazebo","opencv","ros2-foxy","tensorflow"],"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/Gaurang-1402.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}},"created_at":"2023-10-03T17:04:29.000Z","updated_at":"2025-05-03T11:22:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"d11679ae-35a6-4d9d-b097-aa8dbf06cc16","html_url":"https://github.com/Gaurang-1402/ChatRoboTaxi","commit_stats":null,"previous_names":["gaurang-1402/chatrobotaxi"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Gaurang-1402/ChatRoboTaxi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gaurang-1402%2FChatRoboTaxi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gaurang-1402%2FChatRoboTaxi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gaurang-1402%2FChatRoboTaxi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gaurang-1402%2FChatRoboTaxi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Gaurang-1402","download_url":"https://codeload.github.com/Gaurang-1402/ChatRoboTaxi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gaurang-1402%2FChatRoboTaxi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31959883,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T00:39:45.007Z","status":"online","status_checked_at":"2026-04-18T02:00:07.018Z","response_time":103,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["gazebo","opencv","ros2-foxy","tensorflow"],"created_at":"2024-11-06T12:51:17.535Z","updated_at":"2026-04-18T06:38:03.510Z","avatar_url":"https://github.com/Gaurang-1402.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ChatRoboTaxi: Control Self-Driving car with Natural Language\n\nChatRoboTaxi is a project that merges Language Logic Models (LLMs) with the control of self driving cars. With it, users can operate self driving cars using simple, natural language commands. The project is built using ROS2 (Robot Operating System) Foxy, and its simulations run within the Gazebo environment, providing a realistic platform for self driving car behavior.\n\nAccompanying ChatRoboTaxi is a user-centric web application that presents users with a straightforward interface to input their commands. This melding of advanced technology and a user-friendly design creates an accessible and intuitive experience for controlling self driving cars.\n\nWhile ChatRoboTaxi currently functions within a simulated environment for thorough testing and development, it is designed with real-world applications in mind. The system can translate natural language instructions into actual robotic commands when required.\n\n\n\n\n## ROSGPT features include:\n- A user-friendly web application that provides an interactive interface for self driving car control\n[![one.gif](https://i.postimg.cc/668JxmFL/one.gif)](https://postimg.cc/fkQgxBzJ)\n\n- Full control over the self driving car's directional movement, including forward, backward, left, and right commands\n[![two.gif](https://i.postimg.cc/Gtxv5QPB/two.gif)](https://postimg.cc/D4mWW1MF)\n\n- Support for commands in multiple languages\n[![three.gif](https://i.postimg.cc/V6yMsTDr/three.gif)](https://postimg.cc/R3RqXPr4)\n\n- Autonomous driving mode including Lane Detection and Driving, Traffic Light Detection and control, Road Sign Detection and control and GPS Navigation\n[![four.gif](https://i.postimg.cc/FKxm1kxy/four.gif)](https://postimg.cc/t178MTwJ)\n\n## Self-Driving features include:\n* **Lane Following**\n  -  ![alt text](https://github.com/noshluk2/ROS2-Self-Driving-Car-AI-using-OpenCV/blob/main/Images_videos/lane_detection.gif)\n* **Sign Board Detection**\n  - ![alt text](https://github.com/noshluk2/ROS2-Self-Driving-Car-AI-using-OpenCV/blob/main/Images_videos/traffic_signs_boards.gif)\n* **Traffic Signal Recognition**\n  - ![alt text](https://github.com/noshluk2/ROS2-Self-Driving-Car-AI-using-OpenCV/blob/main/Images_videos/traffic_signal.gif)\n\n* **T-Junction Navigation**\n  - ![alt text](https://github.com/noshluk2/ROS2-Self-Driving-Car-AI-using-OpenCV/blob/main/Images_videos/j_turning.gif)\n\n\n\n## ROSGPT Architecture\n\n![Screenshot from 2023-07-04 20-49-50](https://github.com/Gaurang-1402/ChatDrones/assets/71042887/f3534fd5-1ac8-4d55-8e67-fb5f6c0ddf8d)\n\n1. The first component, \"rosgpt.py\", serves as the primary translator. As a REST server in a ROS2 node, it receives instructions in the form of POST requests, then processes these instructions into structured JSON commands using the ChatGPT API. Once the translation is complete, the commands are published on the /voice_cmd topic, ready for the next stage.\n\n2. The next component is \"rosgpt_client_node.py\", a ROS2 client node that acts as a liaison between the user and rosgpt.py. It sends POST requests with the user's commands to the ROSGPT REST server and awaits the transformed JSON commands, displaying them upon receipt.\n\n3. Another key component is \"rosgpt_client.py\", which fulfills a similar role to rosgpt_client_node.py. The main difference is that this script functions solely as a REST client for ROSGPT, without the ROS2 node involvement.\n\n4. Once the commands are translated, they are received by \"rosgptparser_robotaxi.py\". This script, dubbed the ROSGPTParser, executes the commands. It subscribes to the /voice_cmd topic, receives the JSON commands, parses them, and then carries out the necessary self driving car steering.\n\n## Getting started\n\nClone the repository\n\n```\nmkdir ros_ws\ncd ros_ws\ngit clone \u003crepo_url\u003e\n```\n\nInstall the `virtualenv` package:\n\n```\npython3 -m pip install --user virtualenv\n\n```\n\n\nCreate and activate a virtual environment:\n\n```\npython3 -m virtualenv ROS2SDC_VENV\nsource ROS2SDC_VENV/bin/activate\n```\n\n\nInstall the necessary Python modules:\n\n```\npip3 install -r Repo_resources/installation_requirements_python.txt\n```\nrosgptparser_robotaxi\n```\nmkdir -p ~/.gazebo/models\nsudo apt install -y python3-colcon-common-extensions\nsudo apt install -y ros-foxy-gazebo-ros-pkgs\n\n```\n\n\n## Building the Project\n\nCopy models to your `.gazebo/models` directory:\n\n```\ncp -r self_driving_car_pkg/models/* ~/.gazebo/models\n```\n\n\nNotify Colcon to ignore `ROS2SDC_VENV` during the build:\n\n```\ntouch ROS2SDC_VENV/COLCON_IGNORE\n```\n\n\nBuild the project:\n\n```\ncolcon build\n```\n\n\n## Running the Project\n\nOpen a new terminal:\n\n```\nsource ROS2SDC_VENV/bin/activate\nsource install/setup.sh\nros2 launch self_driving_car_pkg world_gazebo.launch.py\n\n\n```\n\n\n## Installing Additional Dependencies\n\nPrepare the Gazebo models directory and install the required packages:\n\n\nInstall rosgpt libraries from the rosgpt folder\n\n```\ncd ~/src/rosgpt\npip3 install -r requirements.txt\n```\n\nInstall ROS requirements\n\n```\nsudo apt-get install python-rosdep\nsudo rosdep init\nrosdep update\n```\n\n```\ncd ~/ros_ws\nrosdep install --from-paths src --ignore-src --rosdistro=\u003crosdistro\u003e -y\n```\n\n\nAdd your OpenAI API Key in your ```.bashrc``` as an environment variable \n\n```\necho 'export OPENAI_API_KEY=your_api_key' \u003e\u003e ~/.bashrc\n```\n\n\n## Running ROSGPT\n\nFirst, navigate to the root directory of your workspace and build the project\n\n```\ncd ~/ros_ws\ncolcon build --symlink-install\n```\nNow run each of these commands on new terminals\n\n```\nsource ROS2SDC_VENV/bin/activate\nsource install/setup.sh\nros2 run rosgpt rosgpt\n\n```\n\n```\nsource install/setup.sh\nros2 run rosgpt rosgpt_client_node \n```\n\n```\nsource ROS2SDC_VENV/bin/activate\nsource install/setup.sh\nros2 run rosgpt rosgptparser_robotaxi\n\n```\n\n\nNote: Please replace `\u003crepository_url\u003e` and `\u003cyour_api_key\u003e` with the actual repository URL and your OpenAI API key, respectively.\n\n\n\n## Credits\nSimulation adapted from: https://github.com/noshluk2/ROS2-Self-Driving-Car-AI-using-OpenCV\n\n```\n@article{koubaa2023rosgpt,\n  title={ROSGPT: Next-Generation Human-Robot Interaction with ChatGPT and ROS},\n  author={Koubaa, Anis},\n  journal={Preprints.org},\n  year={2023},\n  volume={2023},\n  pages={2023040827},\n  doi={10.20944/preprints202304.0827.v2}\n}\n\n```\nI am deeply appreciative of these individuals for sharing their work to build on top of!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgaurang-1402%2Fchatrobotaxi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgaurang-1402%2Fchatrobotaxi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgaurang-1402%2Fchatrobotaxi/lists"}