{"id":21623015,"url":"https://github.com/jmuwrobotics/volksbot","last_synced_at":"2026-05-08T13:05:50.038Z","repository":{"id":233544212,"uuid":"785557532","full_name":"JMUWRobotics/volksbot","owner":"JMUWRobotics","description":null,"archived":false,"fork":false,"pushed_at":"2024-11-13T09:52:22.000Z","size":69598,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-24T22:11:10.820Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JMUWRobotics.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}},"created_at":"2024-04-12T06:03:31.000Z","updated_at":"2024-04-12T12:52:11.000Z","dependencies_parsed_at":"2024-04-16T17:07:59.381Z","dependency_job_id":"478fbe11-d3d9-4b3c-a69f-4685fe1d18b5","html_url":"https://github.com/JMUWRobotics/volksbot","commit_stats":null,"previous_names":["jmuwrobotics/volksbot"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JMUWRobotics%2Fvolksbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JMUWRobotics%2Fvolksbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JMUWRobotics%2Fvolksbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JMUWRobotics%2Fvolksbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JMUWRobotics","download_url":"https://codeload.github.com/JMUWRobotics/volksbot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244287913,"owners_count":20428895,"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":"2024-11-25T00:11:09.102Z","updated_at":"2026-05-08T13:05:50.030Z","avatar_url":"https://github.com/JMUWRobotics.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Volksbot ROS2 branch\n\nThis branch contains the in progess migration of the volksbot package to ROS2 after applying the ros-migration-tool. After successful use of the migration tool not all ROS code snippets are converted into ROS2, like the subscriber, publisher and services. This further migration is now done manually.  \n\n\n# Expanded Joystick Driver for Volksbot ROS2\n\nThis branch is used to convert the old joystick backend into a new and expanded ROS2 implementation. It will expand the useability and agility of the original implementation to allow easier project integration and force feedback.\n\nThe new implementation will no longer use the `/dev/input/js*` joystick devices but the more general `/dev/input/event*` event devices.\n\u003e It is usually advised to use the general event interface instead of the the more constraint joystick interface.\n\n\n### Information\n\nTo use the general event interface the joysticks event file handle needs to be ruled to a non dynamic device handle. At the moment only the **Logitech F710** and the **Microsoft X-Box One** joysticks are _used_ and will be fully integrated. Therefor the backend will currently only implement these joysticks.\n\nHowever integrating further joysticks is easily possible by adapting the applied rules and adding the necessary interface implementations.\n\n\n### How to use\n\nUnlike the old implementation it is no longer necessary to preemptively define the joysticks `/dev/input/*` Path.\nIt will now automatically select one of the connected (and implemented) Joysticks.\n\nIf multiple implemented joysticks are recognized, the one with the lowest number of its `/dev/input/js*` handle will be selected. This is usually the first connected joystick device.\n\n\n# Sick LMS\n## Info\nThe library used is the [official ROS2 library](https://github.com/SICKAG/sick_scan_xd/tree/master) version 3.5.0 for sick scanners. \n\n## [Building](https://github.com/SICKAG/sick_scan_xd/blob/master/INSTALL-ROS2.md#summary-for-the-different-build-options)\n\nBuilding the library for the lms100\n\n    colcon build --packages-select sick_scan_xd --cmake-args \" -DROS_VERSION=2\" \" -DLDMRS=0\" \" -DSCANSEGMENT_XD=0\" --event-handlers console_direct+\n\n\u003e TODO: (if possible?) add cmake args to the cmake file used for building\n\n## [Running / Launching](https://github.com/SICKAG/sick_scan_xd?tab=readme-ov-file#running-the-driver)\n\nLaunching the sick driver for the lms100 ! Attention: must set the correct host-ip manually\n\n    ros2 run sick_scan_xd sick_generic_caller ./src/sick_scan_xd/launch/sick_lms_1xx.launch hostname:=192.168.0.XX\n\n\u003e TODO: configure and add laser specific settings like in the ROS1 volksbot parameter.yaml\n\n# Building\n\u003e Hint: When your OS freezes on building consider using less parallel workers by adding ```--parallel-workers n``` to the colcon build command. (2 or 3 should usually work for everyone)\n\n### When building for the first follow the following steps:\n\n1) source ros2\n```bash\nsource ${ros2_distro}\n```\n\n2) only build the SICK LMS package\n```bash\ncolcon build --packages-select sick_scan_xd --cmake-args \" -DROS_VERSION=2\" \" -DLDMRS=0\" \" -DSCANSEGMENT_XD=0\" --event-handlers console_direct+\n```\n\n3) source the project\n```bash\nsource ./install/setup.bash\n```\n\n4) build all other packages\n```bash\ncolcon build --packages-ignore sick_scan_xd\n```\n\n### For normal building use the following command\n\u003e Make sure you are source into the workspace with\n\u003e `source ./install/setup.bash`\n\n```bash\ncolcon build --packages-ignore sick_scan_xd\n```\n\n\n# Logging\n\nEnter the following line in your terminal to set the logging directory for all logs:\n\n```bash\nexport ROS_LOG_DIR=./log/latest\n```\n\nthe logs can then be found under the linked folder `./logs/latest/` where `latest/` is a symlink to the folder of the latest build","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmuwrobotics%2Fvolksbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjmuwrobotics%2Fvolksbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmuwrobotics%2Fvolksbot/lists"}