{"id":30368532,"url":"https://github.com/tumftm/tam__common","last_synced_at":"2026-02-17T17:02:22.462Z","repository":{"id":275273893,"uuid":"865297039","full_name":"TUMFTM/TAM__common","owner":"TUMFTM","description":"TUM Autonomous Motorsport | Common Library: Common Functions and Packages used within the TUM Autonomous Motorsport Team","archived":false,"fork":false,"pushed_at":"2025-02-01T09:58:17.000Z","size":428,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-20T01:41:13.631Z","etag":null,"topics":["racing","ros2","software"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TUMFTM.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-09-30T09:54:39.000Z","updated_at":"2025-05-28T17:54:31.000Z","dependencies_parsed_at":"2025-02-01T10:39:11.072Z","dependency_job_id":null,"html_url":"https://github.com/TUMFTM/TAM__common","commit_stats":null,"previous_names":["tumftm/tam__common"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TUMFTM/TAM__common","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TUMFTM%2FTAM__common","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TUMFTM%2FTAM__common/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TUMFTM%2FTAM__common/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TUMFTM%2FTAM__common/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TUMFTM","download_url":"https://codeload.github.com/TUMFTM/TAM__common/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TUMFTM%2FTAM__common/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29550826,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-17T14:33:00.708Z","status":"ssl_error","status_checked_at":"2026-02-17T14:32:58.657Z","response_time":100,"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":["racing","ros2","software"],"created_at":"2025-08-20T01:34:49.275Z","updated_at":"2026-02-17T17:02:22.445Z","avatar_url":"https://github.com/TUMFTM.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TUM Autonomous Motorsport: Common Library\n\nThis repository contains a collection of common functionality used in various modules of the software stack of TUM Autonomous Motorsport.\n\n## Repository Content\n\nThis repository contains several packages that can be built. Below is a list of the available packages along with a brief description of their contents.\n\n| Package Name        | Description                                                                 |\n|---------------------|-----------------------------------------------------------------------------|\n| [`can_comms_cpp`](./can_comms_cpp/README.md) | C++ library for CAN communication |\n| [`limit_handler_cpp`](./limit_handler_cpp/README.md) | C++ library for handling acceleration limits |\n| [`limit_handler_py`](./limit_handler_cpp/README.md) | Python binding for limit_handler_cpp |\n| [`network_communication`](./network_communication/README.md) | UDP/ROS Bride for communication between Non-ROS and ROS Modules via given msg Definitions |\n| [`ros2_watchdog_cpp`](./ros2_watchdog_cpp/README.md) | C++ library for monitoring ROS2 topics and nodes |\n| [`ros2_watchdog_py`](./ros2_watchdog_cpp/README.md) | Python binding for ros2_watchdog_cpp |\n| [`track_handler_cpp`](./track_handler_cpp/README.md) | C++ library for handling and processing race track files |\n| [`track_handler_py`](./track_handler_cpp/README.md) | Python binding for track_handler_cpp |\n| [`tum_helpers_cpp`](./tum_helpers_cpp/README.md) | Various helper and conversion functions for C++ applications |\n| [`tum_helpers_py`](./tum_helpers_cpp/README.md) | Python binding of tum_helpers_cpp |\n| [`tum_ros_helpers_cpp`](./tum_ros_helpers_cpp/README.md) | C++ library for providing helper functions for ROS2 applications |\n| [`tum_type_conversions_ros_cpp`](./tum_type_conversions_ros_cpp/README.md) | Various message type conversions for C++ applications |\n| [`tum_type_conversions_ros_py`](./tum_type_conversions_ros_cpp/README.md) | Python binding for tum_type_conversions_ros_cpp |\n| [`tum_types_cpp`](./tum_types_cpp/README.md) | C++ library containing common struct definitions for data handling |\n| [`tum_types_py`](./tum_types_cpp/README.md) | Python binding for tum_types_cpp |\n| [`vehicle_handler_cpp`](./vehicle_handler_cpp/README.md) | C++ library for handling vehicle parameter and vehcile specific calculations |\n| [`vehicle_handler_py`](./vehicle_handler_cpp/README.md) | Python binding for vehicle_handler_cpp |\n| [`boost_sml`](./vendor_pkgs/boost_sml/README.md) | Vendor Package for the Open Source State Machine Library for C++ |\n| [`matplotlib_cpp`](./vendor_pkgs/matplotlib_cpp/README.md) | Vendor Package for the Open Source Plotting library for C++ applications |\n\n### Externally Included Repositories\n\n| Package Name        | Description                                                                 |\n|---------------------|-----------------------------------------------------------------------------|\n| [`parameter_management`](https://github.com/TUMFTM/TAM__param_management/tree/main) | Parameter Management Library of TUM Autonmous Motorsport |\n| [`time_series_logging`](https://github.com/TUMFTM/tsl) | The time series logging library of TUM Autonomous Motorsport |\n| [`boost_sml`](https://github.com/boost-ext/sml) | State Machine Library for C++ |\n| [`matplotlib_cpp`](https://github.com/lava/matplotlib-cpp) | Plotting functionality for C++ applications |\n\n\n## Building the Project\n\n### Installing the required dependencies\n\n*Attention: The repository contains submodules so please clone with the `--recursive` option*\n\nWe are using Ubuntu 22.04 and ROS 2 Humble for building the project. \nWe expect later releases of Ubuntu and ROS 2 to work as well, but we haven't tested it so far.\n\nAdditionally, the following packages have to be installed:\n\n```bash\nsudo apt install libboost-dev\nsudo apt install ros-${ROS_DISTRO}-can-msgs\nsudo apt install ros-${ROS_DISTRO}-ros2-socketcan \nsudo apt install ros-${ROS_DISTRO}-geographic-msgs # Required for autoware msgs\n```\n\n### Compiling the library.\n\nAfter installing the required dependencies, all packages should compile using colcon.\n\n```bash\ncolcon build\n```\n\n### Disclaimer\n\nAt this point, we cannot guarantee API stability since we are continuously developing and improving our software stack.\nWhile we always try to avoid these, breaking changes could happen in future updates of the message definitions.\n\n\n## References\n### Curvilinear Cosy\nImplementation of [segment.cpp](tum_helpers_cpp/src/segment.cpp), [segment.hpp](tum_helpers_cpp/include/tum_helpers_cpp/coordinate_system/segment.hpp), [curvilinear_cosy.cpp](tum_helpers_cpp/src/curvilinear_cosy.cpp), [curvilinear_cosy.hpp](tum_helpers_cpp/include/tum_helpers_cpp/coordinate_system/curvilinear_cosy.hpp) adapted from:\n- https://ieeexplore.ieee.org/abstract/document/6856487\n- https://gitlab.lrz.de/tum-cps/commonroad-drivability-checker/-/tree/master/cpp/geometry\n- see [License](tum_helpers_cpp/src/LICENSE)\n\n\n### Contributors\n\nThe main contributors of the Project are:\n- [Simon Sagmeister](https://github.com/simonsag96)\n- [Simon Hoffmann](https://github.com/simonh92)\n- [Phillip Pitschi](https://github.com/PhillPi) - Mainly contributing to the message conversion library\n- [Maximilian Leitenstern](https://github.com/mleitenstern) - Mainly developing and implementing the vehicle handler\n- [Dominic Ebner](https://github.com/Dekadee)\n- [Daniel Esser](https://github.com/DaniEsser)\n- [Marcel Weinmann](https://github.com/MarcelWeinmann)\n\nWe also want to thank all other members of TUM Autonomous Motorsport for actively developing this library.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftumftm%2Ftam__common","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftumftm%2Ftam__common","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftumftm%2Ftam__common/lists"}