{"id":30886885,"url":"https://github.com/discower/bsk-msgs","last_synced_at":"2025-09-08T13:52:30.587Z","repository":{"id":309708029,"uuid":"1013230393","full_name":"DISCOWER/bsk-msgs","owner":"DISCOWER","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-13T10:08:42.000Z","size":55,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-13T12:16:33.558Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DISCOWER.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":"2025-07-03T14:58:18.000Z","updated_at":"2025-08-13T10:08:46.000Z","dependencies_parsed_at":"2025-08-13T12:17:20.327Z","dependency_job_id":"d11c9eef-caa3-4f3b-9260-3cb89e0a1602","html_url":"https://github.com/DISCOWER/bsk-msgs","commit_stats":null,"previous_names":["discower/bsk-msgs"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/DISCOWER/bsk-msgs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DISCOWER%2Fbsk-msgs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DISCOWER%2Fbsk-msgs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DISCOWER%2Fbsk-msgs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DISCOWER%2Fbsk-msgs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DISCOWER","download_url":"https://codeload.github.com/DISCOWER/bsk-msgs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DISCOWER%2Fbsk-msgs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274196094,"owners_count":25239148,"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","status":"online","status_checked_at":"2025-09-08T02:00:09.813Z","response_time":121,"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":[],"created_at":"2025-09-08T13:52:25.528Z","updated_at":"2025-09-08T13:52:30.560Z","avatar_url":"https://github.com/DISCOWER.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Basilisk-ROS2 Messages (bsk-msgs)\n\nROS 2 message definitions converted from the Basilisk Astrodynamics Framework (BSK) C/C++ message definitions.\n\n## Overview\n\nThis repository contains ROS 2 message definitions that have been automatically converted from Basilisk Astrodynamics Framework's (BSK) C/C++ message definitions. The conversion tool ensures compatibility between BSK's internal messaging system and ROS 2, enabling seamless integration of BSK modules within ROS 2 environments.\n\n## Features\n\n- **Automatic Conversion**: Includes a tool to automatically convert BSK's message definitions to ROS 2 `.msg` files\n- **Future-Proof**: The conversion tool can be re-run to update message definitions as BSK evolves\n- **Type Mapping**: Intelligent mapping from C/C++ types to ROS 2 message types\n- **Comment Preservation**: Maintains documentation and comments from original BSK headers\n- **Macro Support**: Handles BSK macro definitions for array sizes and constants\n\n## Installation\n\n### Build Instructions\n\n1. Clone the repository into your ROS 2 workspace:\n   ```bash\n   cd your_ros2_workspace/src\n   git clone https://github.com/DISCOWER/bsk-msgs.git\n   ```\n\n2. Build the package:\n   ```bash\n   cd ..\n   colcon build --packages-select bsk-msgs\n   ```\n\n3. Source the workspace:\n   ```bash\n   source install/setup.bash\n   ```\n\n## Usage\n\nOnce built and sourced, you can import and use the BSK message types in your ROS 2 nodes:\n\n```python\nfrom bsk_msgs.msg import CmdForceBodyMsgPayload, CmdTorqueBodyMsgPayload, SCStatesMsgPayload\n# Use the message types in your ROS 2 nodes\n```\n\n## Message Conversion Tool\n\nThe repository includes a conversion tool that can regenerate the ROS 2 message definitions from BSK source code.\n\n### Running the Converter\n\n1. Ensure the `BSK_PATH` environment variable points to your Basilisk installation:\n   ```bash\n   export BSK_PATH=/path/to/basilisk\n   ```\n\n2. Run the conversion tool:\n   ```bash\n   python3 tools/bsk_message_converter.py\n   ```\n\n### Conversion Features\n\nThe conversion tool (`tools/bsk_message_converter.py`) provides:\n\n- **Type Mapping**: Converts C/C++ types to appropriate ROS 2 types\n- **Array Handling**: Processes fixed-size arrays using BSK macro definitions\n- **Comment Conversion**: Preserves documentation from BSK headers\n- **Timestamp Addition**: Automatically adds ROS 2 timestamp fields\n- **Macro Resolution**: Resolves BSK macro definitions for array sizes and constants\n\n## Message Structure\n\nAll converted messages include:\n- **Timestamp**: `builtin_interfaces/Time stamp` field for ROS 2 compatibility\n- **Original Fields**: All fields from the BSK message definition\n- **Documentation**: Preserved comments and documentation from BSK headers\n\n## Contributing\n\nContributions are welcome! Please:\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Test the conversion tool if modifying it\n5. Submit a pull request\n\n## References\n\n- [Basilisk Astrodynamics Simulation](https://hanspeterschaub.info/basilisk/)\n- [ROS 2 Documentation](https://www.ros.org/)\n- [BSK-ROS2 Bridge](https://github.com/DISCOWER/bsk-ros2-bridge.git)\n\n## License\n\nThis project is licensed under the BSD-3-Clause License - see the [LICENSE](LICENSE) file for details.\n\n## Authors\n\n**Elias Krantz**  \nEmail: eliaskra@kth.se\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiscower%2Fbsk-msgs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdiscower%2Fbsk-msgs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiscower%2Fbsk-msgs/lists"}