{"id":20562760,"url":"https://github.com/mint-lab/mint_cart_ros","last_synced_at":"2026-04-17T18:31:29.856Z","repository":{"id":188880365,"uuid":"663407339","full_name":"mint-lab/mint_cart_ros","owner":"mint-lab","description":null,"archived":false,"fork":false,"pushed_at":"2024-04-10T12:07:32.000Z","size":17083,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-04-10T14:49:18.833Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mint-lab.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}},"created_at":"2023-07-07T08:14:09.000Z","updated_at":"2024-04-15T06:54:29.552Z","dependencies_parsed_at":"2024-04-15T06:54:25.470Z","dependency_job_id":null,"html_url":"https://github.com/mint-lab/mint_cart_ros","commit_stats":null,"previous_names":["mint-lab/mint_cart_ros"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mint-lab/mint_cart_ros","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mint-lab%2Fmint_cart_ros","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mint-lab%2Fmint_cart_ros/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mint-lab%2Fmint_cart_ros/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mint-lab%2Fmint_cart_ros/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mint-lab","download_url":"https://codeload.github.com/mint-lab/mint_cart_ros/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mint-lab%2Fmint_cart_ros/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31940716,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T17:29:20.459Z","status":"ssl_error","status_checked_at":"2026-04-17T17:28:47.801Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":[],"created_at":"2024-11-16T04:13:23.004Z","updated_at":"2026-04-17T18:31:29.838Z","avatar_url":"https://github.com/mint-lab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MINT Cart for ROS2\n\n**mint_cart_ros** is a package for **MINT-CART** of [MINT LAB](https://mint-lab.github.io/) to get dataset and test sensor fusion.\n\n## Work condition\n- ROS2 humble \u0026 Ubuntu 22.04\n- ASUS ROG Flow X13\n  - CPU : [AMD Ryzen™ 9 5900HS](https://www.amd.com/en/products/apu/amd-ryzen-9-5900hs)\n  - GPU : [NVIDIA GeForce RTX 3050 Ti Mobile](https://www.notebookcheck.net/NVIDIA-GeForce-RTX-3050-Ti-Laptop-GPU-Benchmarks-and-Specs.527430.0.html)\n\n\n## Using sensors\n  - LiDAR : [Ouster OS1-128](https://www.dataspeedinc.com/app/uploads/2019/10/Ouster-OS1-Datasheet.pdf) ([ros2_ouster_drivers](https://github.com/ros-drivers/ros2_ouster_drivers))\n    - FOV : 45°\n    - Resolution : 1.2 cm\n    - Rotation Rate : 10 to 20 Hz\n  - Stereo Camera : [ZED 2i](https://www.stereolabs.com/zed-2i) ([zed-ros2-wrapper](https://github.com/stereolabs/zed-ros2-wrapper))\n    - Resolution \u0026 FPS: WVGA to 2.2K \u0026 15 to 100 Hz\n    - Depth : 0.2 to 20m, Up to 100Hz\n    - Built-in sensors : Accelerometer, Gyroscope, Barometer, Magnetometer, Temperature sensor\n  - IMU : [myAHRS+](http://withrobot.com/en/sensor/myahrsplus/) ([myahrs_ros2_driver](https://github.com/CLOBOT-Co-Ltd/myahrs_ros2_driver))\n    - 9-DOF\n      - 3-Axis Gyroscope : ± 2000 dps\n      - 3-Axis Accelerometer : ± 16 g\n      - 3-Axis Geomagnetic Sensor : ± 1200 μT\n    - Up to 100Hz\n  - GPS : [Ascen-GPS-620](https://ascenkorea.net/?page_id=690) ([nmea_navsat_driver](https://github.com/ros-drivers/nmea_navsat_driver/tree/ros2))\n    - Frequeny : 1 to 10 Hz\n    - Accuracy\n      - Autonomous \u003c 2.5m\n      - SBAS \u003c 2.0m\n    - TTFF\n      - Hot start \u003c 1s\n      - Warm start \u003c 28s\n      - Cold start \u003c 29s\n  - GPS-RTK : [SparkFun RTK Express Plus](https://www.sparkfun.com/products/18590) ([nmea_navsat_driver](https://github.com/ros-drivers/nmea_navsat_driver/tree/ros2))\n    - GNSS Receiver : ZED-F9R\n    - Built-in IMU (3-Axis Accel, 3-Axis Gyro)\n    - Frequency : Up to 20Hz(RTK)\n    - Accuracy\n      - With IMU \u003c 30cm\n      - With RTK \u0026 IMU \u003c 1.4cm\n    - TTFF\n      - Hot start \u003c 2s\n      - Cold start \u003c 25s\n  \n  - ### [Sensors outline](https://cad.onshape.com/documents/e604f5206b6b069382c1478e/w/2c3c9b12e499277badf01ed1/e/66ac3166ca2dbf7da4c255b7)\n    ![sensors outline](images/Sensors_Outline.png)\n## Installation\n\n### Prerequisite\n- **[Ubuntu 20.04 (Focal Fossa)](https://releases.ubuntu.com/focal)** or **[Ubuntu 22.04 (Jammy Jellyfish)](https://releases.ubuntu.com/jammy/)**\n- **ROS2** : Follow the instruction below to install ROS2 on PC.\n  - [ROS2 Debian packages(humble)](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html)\n- **[ZED SDK](https://www.stereolabs.com/developers/release/)**\n  - Install [CUDA](https://developer.nvidia.com/cuda-11-8-0-download-archive) (Recommend 11.8) \u0026 [cuDNN](https://developer.nvidia.com/rdp/cudnn-archive)\n  - Following [Getting started](https://github.com/stereolabs/zed-sdk#getting-started)\n\n### Creating a work space\n1. Create work space\n   ```\n   mkdir -p mint_ws/src\n   ```\n\n2. Follow below instruction to install **[zed-ros2-wrapper](https://github.com/stereolabs/zed-ros2-wrapper) ( ZED 2i )**\n    ```\n    cd ~/mint_ws/src/ #use your current ros2 workspace folder\n    git clone  --recursive https://github.com/stereolabs/zed-ros2-wrapper.git\n    cd ..\n    rosdep install --from-paths src --ignore-src -r -y\n    colcon build --symlink-install --cmake-args=-DCMAKE_BUILD_TYPE=Release --parallel-workers $(nproc)\n    echo source $(pwd)/install/local_setup.bash \u003e\u003e ~/.bashrc\n    source ~/.bashrc\n   ```\n3. Download or git clone below packages\n   - [ros2_ouster_drivers](https://github.com/ros-drivers/ros2_ouster_drivers/tree/humble) ( OS-1 LiDAR )\n   - [nmea_navsat_driver](https://github.com/ros-drivers/nmea_navsat_driver/tree/ros2) ( Asen GPS )\n   - [myahrs_ros2_driver](https://github.com/CLOBOT-Co-Ltd/myahrs_ros2_driver) ( myAHRS+ )  \n\n4. Install packages using below commands.\n    ```\n    cd mint_ws\n    colcon build --symlink-install\n    source ~/.bashrc\n    ```\n\n    **Note**: If you using ros2 humble(22.04), you might got this error when build **myahrs_ros2**\n    ![my_ahrs_error](images/myahrs_error.png)\n\n    This is due to this package is made for **foxy** and **declare_parameter** don't have default value in humble([foxy](https://docs.ros2.org/foxy/api/rclcpp/classrclcpp_1_1Node.html#a095ea977b26e7464d9371efea5f36c42), [humble](https://docs.ros2.org/foxy/api/rclcpp/classrclcpp_1_1Node.html#a095ea977b26e7464d9371efea5f36c42)). So, you have to insert default value.  \n    To insert, open mint_ws/src/myahrs_ros2_driver-master/myahrs_ros2_driver/src/myahrs_ros2_driver.cpp  \n\n    Next, insert default value end of declare_parameter function\n    ```c++\n    namespace WithRobot\n    {\n    MyAhrsDriverForROS::MyAhrsDriverForROS(std::string port, int baud_rate)\n    : iMyAhrsPlus(port, baud_rate), Node(\"myahrs_ros2\")\n    {\n      // dependent on user device\n      publish_tf_ = false;\n      frame_id_ = \"imu_link\";\n      parent_frame_id_ = \"base_link\";\n\n      this-\u003edeclare_parameter(\"linear_acceleration_stddev\", 0.0);\n      this-\u003edeclare_parameter(\"angular_velocity_stddev\", 0.0);\n      this-\u003edeclare_parameter(\"magnetic_field_stddev\", 0.0);\n      this-\u003edeclare_parameter(\"orientation_stddev\", 0.0);\n\n      this-\u003eget_parameter(\n        \"linear_acceleration_stddev\", linear_acceleration_stddev_);\n      this-\u003eget_parameter(\"angular_velocity_stddev\", angular_velocity_stddev_);\n      this-\u003eget_parameter(\"magnetic_field_stddev\", magnetic_field_stddev_);\n      this-\u003eget_parameter(\"orientation_stddev\", orientation_stddev_);\n    ``` \n    This values will be updated based on your .config or .yaml file when you launch the node using .launch.py.  \n    So, don't worry about value and just match value type. (If parameters are not declared in .config or .yaml, you need to insert your values)\n\n### Change launch.py files\nTo change port name, you have to change .config or .yaml file due to original launch.py files not declare this variable as a parameter. Therefore, converting this variable into a declared parameter is convenient.\n\nForexample, if you want to change nmea_navsat_driver, replace nmea_serial_driver.launch.py to below code.\n```python\nimport os\nimport sys\n\nfrom ament_index_python.packages import get_package_share_directory\nfrom launch import LaunchDescription, LaunchIntrospector, LaunchService\nfrom launch_ros import actions\nfrom launch.actions import DeclareLaunchArgument\nfrom launch.substitutions import LaunchConfiguration\n\n\ndef generate_launch_description():\n    \"\"\"Generate a launch description for a single serial driver.\"\"\"\n    config_file = os.path.join(get_package_share_directory(\"nmea_navsat_driver\"), \"config\", \"nmea_serial_driver.yaml\")\n    port_arg = DeclareLaunchArgument('port', default_value='/dev/ttyACM2')\n    driver_node = actions.Node(\n        package='nmea_navsat_driver',\n        executable='nmea_serial_driver',\n        output='screen',\n        remappings=[(\"fix\", \"ascen/fix\")],\n        parameters=[config_file, {'port': LaunchConfiguration('port')}])\n\n    return LaunchDescription([port_arg, driver_node])\n\n\ndef main(argv):\n    ld = generate_launch_description()\n\n    print('Starting introspection of launch description...')\n    print('')\n\n    print(LaunchIntrospector().format_launch_description(ld))\n\n    print('')\n    print('Starting launch of launch description...')\n    print('')\n\n    ls = LaunchService()\n    ls.include_launch_description(ld)\n    return ls.run()\n\n\nif __name__ == '__main__':\n    main(sys.argv)\n```  \nNext, remove **port:** parameter in ublox_gps/config/zed_f9p.yaml.  \nOpen terminal and input below code to check changed launch.py file.\n```\nros2 launch nmea_navsat_driver nmea_serial_driver.launch.py -s\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmint-lab%2Fmint_cart_ros","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmint-lab%2Fmint_cart_ros","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmint-lab%2Fmint_cart_ros/lists"}