{"id":24221557,"url":"https://github.com/michdo93/robotcar_controller","last_synced_at":"2026-03-08T13:35:07.561Z","repository":{"id":135032800,"uuid":"284286993","full_name":"Michdo93/robotcar_controller","owner":"Michdo93","description":null,"archived":false,"fork":false,"pushed_at":"2021-06-18T14:51:23.000Z","size":34,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-14T06:19:50.380Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"CMake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Michdo93.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2020-08-01T15:30:38.000Z","updated_at":"2021-06-18T14:51:26.000Z","dependencies_parsed_at":"2023-05-10T17:15:34.062Z","dependency_job_id":null,"html_url":"https://github.com/Michdo93/robotcar_controller","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Michdo93%2Frobotcar_controller","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Michdo93%2Frobotcar_controller/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Michdo93%2Frobotcar_controller/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Michdo93%2Frobotcar_controller/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Michdo93","download_url":"https://codeload.github.com/Michdo93/robotcar_controller/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241763748,"owners_count":20016162,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2025-01-14T06:19:19.734Z","updated_at":"2026-03-08T13:35:02.541Z","avatar_url":"https://github.com/Michdo93.png","language":"CMake","funding_links":[],"categories":[],"sub_categories":[],"readme":"# robotcar_controller\n\nIs used on the control computer respectively operating computer to control the [RobotCar](https://github.com/Michdo93/robotcar). At first you have to make sure that the roscore is running and the [robotcar-pkg](https://github.com/Michdo93/robotcar-pkg) is publishing informations.\n\n![controller](https://raw.githubusercontent.com/Michdo93/robotcar_controller/master/controller.JPG)\n\n## How to Use\n\nAs recommended in the [ROS Tutorials](https://wiki.ros.org/ROS/Tutorials) the control computer respectively operating computer should run the roscore. So at first open a terminal window and execute `roscore`. After that open a second terminal window and run `rosrun robotcar_controller controller.py`.\n\nThe String variable `robot_host` uses the hostname of one RobotCar. As example it could be `robotcar`.\n\nThe following table shows the needed key's for controlling the RobotCar:\n\n|                 Key                |            Function       |\n|--------------------------------------------- | ------------------------------|\n| \u003ckbd\u003eW\u003c/kbd\u003e | forward acceleration or break if driving backwards |\n| \u003ckbd\u003eA\u003c/kbd\u003e | left steering or turning back to neutral if steering right |\n| \u003ckbd\u003eS\u003c/kbd\u003e | backward acceleration or break if driving forwards |\n| \u003ckbd\u003eD\u003c/kbd\u003e | right steering or turning back to neutral if steering left |\n| \u003ckbd\u003eQ\u003c/kbd\u003e | stops the motor / engine |\n| \u003ckbd\u003eE\u003c/kbd\u003e | turn the steering to neutral |\n| \u003ckbd\u003eCTRL\u003c/kbd\u003e + \u003ckbd\u003eC\u003c/kbd\u003e | Quits the program |\n\n## Publisher Informations\n\nThe Controller is publishing to the Control Node of the [RobotCar](https://github.com/Michdo93/robotcar). It uses the [pynput library](https://pynput.readthedocs.io/en/latest/) for key down and key up. So if a key is pressed the RobotCar will active change its behavious as the driver wants. If not key is pressed the Controller will slow down the speed and the steer turns slowly back to neutral. Means it will permanently published to Control Node.\n\n|                 Topic Address                |            Message Type       |\n|--------------------------------------------- | ------------------------------|\n|robot_host + /control/speed                   | [std_msgs/Float64](http://docs.ros.org/en/melodic/api/std_msgs/html/msg/Float64.html)          |\n|robot_host + /control/steer                   | [std_msgs/Float64](http://docs.ros.org/en/melodic/api/std_msgs/html/msg/Float64.html)          |\n\nAn ADAS would intervene similarly in the driving process.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichdo93%2Frobotcar_controller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichdo93%2Frobotcar_controller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichdo93%2Frobotcar_controller/lists"}