{"product_id":"odin1-spatial-memory-module-for-robotics","title":"Odin1 -- Spatial Memory Module for Robotics","description":"\u003cdiv style=\"max-width: 900px; margin: 0 auto;\"\u003e\n\u003cdiv style=\"background: #000a15; border: 1px solid #1a2230; padding: 48px 32px; text-align: center; margin: 0 0 40px;\"\u003e\n\u003ch2 style=\"color: #fff; font-size: 1.8rem; margin: 0 0 8px;\"\u003eThe World's First Spatial Memory Module\u003c\/h2\u003e\n\u003cp style=\"color: #8890a0; font-size: 1rem; margin: 0 0 16px;\"\u003ePlug and Play. Instant Localization.\u003c\/p\u003e\n\u003cdiv style=\"display: flex; gap: 12px; justify-content: center; flex-wrap: wrap;\"\u003e\n\u003cspan style=\"background: #000d1f; border: 1px solid #1a2230; padding: 6px 18px; color: #60a5fa; font-size: 0.85rem;\"\u003eROS 1\u003c\/span\u003e \u003cspan style=\"background: #000d1f; border: 1px solid #1a2230; padding: 6px 18px; color: #60a5fa; font-size: 0.85rem;\"\u003eROS 2\u003c\/span\u003e \u003cspan style=\"background: #000d1f; border: 1px solid #1a2230; padding: 6px 18px; color: #60a5fa; font-size: 0.85rem;\"\u003eC++ SDK\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background:#000d1f;border:1px solid #1a2230;border-radius:8px;padding:20px 24px;margin:0 0 40px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px\"\u003e\n  \u003cdiv style=\"min-width:260px\"\u003e\n    \u003cp style=\"color:#fff;font-size:1rem;margin:0 0 4px;font-weight:600\"\u003eLooking for volume pricing on bulk orders?\u003c\/p\u003e\n    \u003cp style=\"color:#8890a0;font-size:0.88rem;margin:0\"\u003eOdin1 is a B2B module — request a quote for bulk and custom configurations.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003ca href=\"\/pages\/request-a-quote\" style=\"display:inline-block;background:#60a5fa;color:#000a15;font-weight:700;font-size:0.95rem;padding:12px 28px;border-radius:8px;text-decoration:none;white-space:nowrap\"\u003eRequest a B2B Quote →\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 0 0 40px;\"\u003e\n\u003cdiv style=\"background: #000a15; border: 1px solid #1a2230; padding: 24px 16px; text-align: center;\"\u003e\n\u003cdiv style=\"color: #fff; font-size: 1.6rem; font-weight: bold;\"\u003e0.2%\u003c\/div\u003e\n\u003cdiv style=\"color: #8890a0; font-size: 0.8rem;\"\u003eDrift Rate\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background: #000a15; border: 1px solid #1a2230; padding: 24px 16px; text-align: center;\"\u003e\n\u003cdiv style=\"color: #fff; font-size: 1.6rem; font-weight: bold;\"\u003e≤3cm\u003c\/div\u003e\n\u003cdiv style=\"color: #8890a0; font-size: 0.8rem;\"\u003eAccuracy\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background: #000a15; border: 1px solid #1a2230; padding: 24px 16px; text-align: center;\"\u003e\n\u003cdiv style=\"color: #fff; font-size: 1.6rem; font-weight: bold;\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv style=\"color: #fff; font-size: 1.6rem; font-weight: bold;\"\u003eNo.1\u003c\/div\u003e\n\u003cdiv style=\"color: #8890a0; font-size: 0.8rem;\"\u003eSpatial Memory Module for Humanoid \u0026amp; Quadrupedal Robots\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003chr style=\"border-color: #1a2230; margin: 0 0 40px;\"\u003e\n\u003cdiv style=\"display: flex; gap: 0; flex-wrap: wrap; margin: 0 0 40px;\"\u003e\n\u003cdiv style=\"flex: 1; min-width: 280px;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0679\/2747\/4251\/files\/O1.webp?v=1785397172\" style=\"width: 100%; display: block;\"\u003e\u003c\/div\u003e\n\u003cdiv style=\"flex: 1; min-width: 280px; background: #000a15; border: 1px solid #1a2230; border-left: 0; padding: 36px 28px;\"\u003e\n\u003ch3 style=\"color: #fff; font-size: 1.15rem; margin: 0 0 10px;\"\u003eIntegrated Perception\u003c\/h3\u003e\n\u003cp style=\"color: #e0e0e0; line-height: 1.7; font-size: 0.95rem;\"\u003eLiDAR + RGB Camera + IMU fusion. Built-in MindSLAM outputs real-time pose, point clouds, and sensor data.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"display: flex; gap: 0; flex-wrap: wrap; flex-direction: row-reverse; margin: 0 0 40px;\"\u003e\n\u003cdiv style=\"flex: 1; min-width: 280px;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0679\/2747\/4251\/files\/O1_bf7e933c-cfc3-42f7-b482-fe9920d2a61a.webp?v=1785316541\" style=\"width: 100%; display: block;\"\u003e\u003c\/div\u003e\n\u003cdiv style=\"flex: 1; min-width: 280px; background: #000a15; border: 1px solid #1a2230; border-right: 0; padding: 36px 28px;\"\u003e\n\u003ch3 style=\"color: #fff; font-size: 1.15rem; margin: 0 0 10px;\"\u003eReal-to-Sim Pipeline\u003c\/h3\u003e\n\u003cp style=\"color: #e0e0e0; line-height: 1.7; font-size: 0.95rem;\"\u003eCapture with Pocket2 → Process 3DGS in MindCloud → Train in Isaac Sim → Deploy with Odin1.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"display: flex; gap: 0; flex-wrap: wrap; margin: 0 0 40px;\"\u003e\n\u003cdiv style=\"flex: 1; min-width: 280px;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0679\/2747\/4251\/files\/O1_6e456f84-f6d4-4e15-b13d-bc78af2c5bb8.webp?v=1785316537\" style=\"width: 100%; display: block;\"\u003e\u003c\/div\u003e\n\u003cdiv style=\"flex: 1; min-width: 280px; background: #000a15; border: 1px solid #1a2230; border-left: 0; padding: 36px 28px;\"\u003e\n\u003ch3 style=\"color: #fff; font-size: 1.15rem; margin: 0 0 10px;\"\u003eDeployed Worldwide\u003c\/h3\u003e\n\u003cp style=\"color: #e0e0e0; line-height: 1.7; font-size: 0.95rem;\"\u003eUnitree H1, Astrall Dynamics, RoboForce TITAN — the leading spatial memory module for humanoid and quadrupedal robots.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003chr style=\"border-color: #1a2230; margin: 0 0 40px;\"\u003e\n\u003cstyle\u003e\n.odin-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 40px;}\n@media (max-width:600px){.odin-kpi-grid{grid-template-columns:repeat(2,1fr);}}\n.odin-kpi{background:#000a15;border:1px solid #1a2230;padding:16px;text-align:center;}\n.odin-kpi .k{color:#8890a0;font-size:0.75rem;}\n.odin-kpi .v{color:#60a5fa;font-size:1.1rem;font-weight:700;}\n\u003c\/style\u003e\n\u003cdiv class=\"odin-kpi-grid\"\u003e\n\u003cdiv class=\"odin-kpi\"\u003e\n\u003cdiv class=\"k\"\u003eDRIFT\u003c\/div\u003e\n\u003cdiv class=\"v\"\u003e0.2%\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"odin-kpi\"\u003e\n\u003cdiv class=\"k\"\u003eACCURACY\u003c\/div\u003e\n\u003cdiv class=\"v\"\u003e≤3cm\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"odin-kpi\"\u003e\n\u003cdiv class=\"k\"\u003eWEIGHT\u003c\/div\u003e\n\u003cdiv class=\"v\"\u003e280 g\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"odin-kpi\"\u003e\n\u003cdiv class=\"k\"\u003ePROTECTION\u003c\/div\u003e\n\u003cdiv class=\"v\"\u003eIP66\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003eDeveloper-Ready\n\u003cdiv style=\"background: #000; border: 1px solid #1a2230; padding: 20px; margin: 0 0 8px; overflow-x: auto;\"\u003e\n\u003cpre style=\"color: #60a5fa; font-family: 'SF Mono',Monaco,monospace; font-size: 0.85rem; line-height: 1.7; margin: 0;\"\u003e\u0026lt;launch\u0026gt;\n    \u0026lt;arg name=\"node_name\" default=\"host_sdk_sample\"\/\u0026gt;\n    \u0026lt;arg name=\"config_file\" default=\"$(find odin_ros_driver)\/config\/control_command.yaml\"\/\u0026gt;\n    \u0026lt;node name=\"$(arg node_name)\" pkg=\"odin_ros_driver\" type=\"host_sdk_sample\" output=\"screen\"\u0026gt;\n        \u0026lt;param name=\"config_file\" value=\"$(arg config_file)\"\/\u0026gt;\n    \u0026lt;\/node\u0026gt;\n    \u0026lt;node pkg=\"odin_ros_driver\" type=\"pcd2depth_node\" name=\"pcd2depth_node\" output=\"screen\"\/\u0026gt;\n    \u0026lt;node pkg=\"odin_ros_driver\" type=\"cloud_reprojection_node\" name=\"cloud_reprojection_node\" output=\"screen\"\/\u0026gt;\n    \u0026lt;node pkg=\"odin_ros_driver\" type=\"image_overlay_node\" name=\"image_overlay_node\" output=\"screen\"\/\u0026gt;\n    \u0026lt;node name=\"rviz\" pkg=\"rviz\" type=\"rviz\" args=\"-d $(arg rviz_config)\" output=\"screen\"\/\u0026gt;\n\u0026lt;\/launch\u0026gt;\n\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003cp style=\"color: #8890a0; font-size: 0.85rem; margin: 0 0 40px;\"\u003eStable spatial localization with a few lines of code. No sensor fusion dirty work required.\u003c\/p\u003e\n\u003cdiv style=\"background: #000a15; border: 1px solid #1a2230; padding: 32px; text-align: center;\"\u003e\n\u003ch3 style=\"color: #fff; font-size: 1.1rem; margin: 0 0 8px;\"\u003eReady to Deploy\u003c\/h3\u003e\n\u003cp style=\"color: #8890a0; font-size: 0.9rem; margin: 0 0 16px;\"\u003eROS drivers, SDK documentation, and firmware available.\u003c\/p\u003e\n\u003ca href=\"https:\/\/www.3dmanifold.com\/download?product=odin1\" style=\"display: inline-block; padding: 12px 24px; border: 1.5px solid #fff; color: #fff; text-decoration: none; text-transform: uppercase; letter-spacing: .05em; font-size: .85rem;\"\u003eMore SETTingS\u003c\/a\u003e \u003ca href=\"\/pages\/download\" style=\"display: inline-block; padding: 12px 24px; background: #fff; color: #00030c; text-decoration: none; text-transform: uppercase; letter-spacing: .05em; font-size: .85rem;\"\u003eAll Downloads\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"max-width: 900px; margin: 48px auto 0; font-family: Inter,-apple-system,sans-serif; background: #000a15; border: 1px solid #1a2230; border-radius: 16px; padding: 24px 32px;\"\u003e\n\u003ch2 style=\"font-size: 1.6rem; margin-bottom: 24px; color: #ffffff;\"\u003eDeveloper Center\u003c\/h2\u003e\n\u003c!-- 语言 Tab --\u003e\n\u003cdiv style=\"display: flex; gap: 8px; border-bottom: 2px solid #e5e7eb; margin-bottom: 0;\"\u003e\n\u003cbutton id=\"odin-tab-ros\" style=\"padding: 10px 24px; border: none; background: none; font-size: 1rem; font-weight: 600; cursor: pointer; color: #ffffff; border-bottom: 3px solid #2563eb; margin-bottom: -2px;\"\u003eROS\u003c\/button\u003e \u003cbutton id=\"odin-tab-cpp\" style=\"padding: 10px 24px; border: none; background: none; font-size: 1rem; font-weight: 600; cursor: pointer; color: #94a3b8; border-bottom: 3px solid transparent; margin-bottom: -2px;\"\u003eC++\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c!-- ROS 面板 (含 ROS1\/ROS2 子 tab + 代码) --\u003e\n\u003cdiv id=\"odin-panel-ros\" style=\"background: #0b1020; border-radius: 0 0 12px 12px; padding: 20px; overflow-x: auto;\"\u003e\n\u003cdiv style=\"display: flex; gap: 8px; margin-bottom: 16px;\"\u003e\n\u003cbutton id=\"odin-sub-ros1\" style=\"padding: 6px 18px; border-radius: 20px; border: none; font-size: 0.85rem; font-weight: 600; cursor: pointer; background: #2563eb; color: #ffffff;\"\u003eROS1\u003c\/button\u003e \u003cbutton id=\"odin-sub-ros2\" style=\"padding: 6px 18px; border-radius: 20px; border: none; font-size: 0.85rem; font-weight: 600; cursor: pointer; background: #1e293b; color: #94a3b8;\"\u003eROS2\u003c\/button\u003e\n\u003cdiv style=\"flex: 1;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cbutton id=\"odin-copy-ros\" style=\"padding: 6px 16px; border-radius: 8px; border: 1px solid #334155; background: #1e293b; color: #e2e8f0; font-size: 0.85rem; cursor: pointer;\"\u003eCopy\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cpre id=\"odin-code-ros1\" style=\"margin: 0; padding: 16px; background: #0b1020; color: #d1d5db; font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size: 0.85rem; line-height: 1.7; overflow-x: auto; white-space: pre; display: block;\"\u003e\u0026lt;launch\u0026gt;\n    \u0026lt;!--\n        Usage: roslaunch odin_ros_driver odin1_ros1.launch\n    --\u0026gt;\n    \u0026lt;arg name=\"node_name\" default=\"host_sdk_sample\"\/\u0026gt;\n    \u0026lt;arg name=\"config_file\" default=\"$(find odin_ros_driver)\/config\/control_command.yaml\"\/\u0026gt;\n    \u0026lt;arg name=\"rviz_config\" default=\"$(find odin_ros_driver)\/config\/odin_ros.rviz\"\/\u0026gt;\n    \u0026lt;node name=\"$(arg node_name)\" pkg=\"odin_ros_driver\" type=\"host_sdk_sample\" output=\"screen\"\u0026gt;\n        \u0026lt;param name=\"config_file\" value=\"$(arg config_file)\"\/\u0026gt;\n    \u0026lt;\/node\u0026gt;\n    \u0026lt;node pkg=\"odin_ros_driver\" type=\"pcd2depth_node\" name=\"pcd2depth_node\" output=\"screen\"\u0026gt;\n        \u0026lt;rosparam command=\"load\" file=\"$(find odin_ros_driver)\/config\/control_command.yaml\"\/\u0026gt;\n        \u0026lt;param name=\"calib_file_path\" value=\"$(find odin_ros_driver)\/config\/calib.yaml\"\/\u0026gt;\n    \u0026lt;\/node\u0026gt;\n    \u0026lt;node pkg=\"odin_ros_driver\" type=\"cloud_reprojection_node\" name=\"cloud_reprojection_node\" output=\"screen\"\u0026gt;\n        \u0026lt;rosparam command=\"load\" file=\"$(find odin_ros_driver)\/config\/control_command.yaml\"\/\u0026gt;\n        \u0026lt;param name=\"calib_file_path\" value=\"$(find odin_ros_driver)\/config\/calib.yaml\"\/\u0026gt;\n    \u0026lt;\/node\u0026gt;\n    \u0026lt;node pkg=\"odin_ros_driver\" type=\"image_overlay_node\" name=\"image_overlay_node\" output=\"screen\"\u0026gt;\n        \u0026lt;rosparam command=\"load\" file=\"$(find odin_ros_driver)\/config\/control_command.yaml\"\/\u0026gt;\n    \u0026lt;\/node\u0026gt;\n    \u0026lt;node name=\"rviz\" pkg=\"rviz\" type=\"rviz\" args=\"-d $(arg rviz_config)\" output=\"screen\"\/\u0026gt;\n\u0026lt;\/launch\u0026gt;\u003c\/pre\u003e\n\u003cpre id=\"odin-code-ros2\" style=\"margin: 0; padding: 16px; background: #0b1020; color: #d1d5db; font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size: 0.85rem; line-height: 1.7; overflow-x: auto; white-space: pre; display: none;\"\u003e# USAGE: ros2 launch odin_ros_driver odin1_ros2.launch.py\nimport os\nimport yaml\nfrom ament_index_python.packages import get_package_share_directory\nfrom launch import LaunchDescription\nfrom launch.actions import DeclareLaunchArgument\nfrom launch.substitutions import LaunchConfiguration\nfrom launch_ros.actions import Node\n\ndef generate_launch_description():\n    package_dir = get_package_share_directory('odin_ros_driver')\n    config_file_arg = DeclareLaunchArgument(\n        'config_file',\n        default_value=os.path.join(package_dir, 'config', 'control_command.yaml'),\n        description='Path to the control config YAML file')\n    rviz_config_arg = DeclareLaunchArgument(\n        'rviz_config',\n        default_value=os.path.join(package_dir, 'config', 'odin_ros2.rviz'),\n        description='Path to RViz2 config file')\n    host_sdk_node = Node(\n        package='odin_ros_driver', executable='host_sdk_sample',\n        name='host_sdk_sample', output='screen',\n        parameters=[{'config_file': LaunchConfiguration('config_file')}])\n    pcd2depth_config_path = os.path.join(package_dir, 'config', 'control_command.yaml')\n    with open(pcd2depth_config_path, 'r') as f:\n        pcd2depth_params = yaml.safe_load(f)\n    pcd2depth_calib_path = os.path.join(package_dir, 'config', 'calib.yaml')\n    pcd2depth_params['calib_file_path'] = pcd2depth_calib_path\n    pcd2depth_node = Node(\n        package='odin_ros_driver', executable='pcd2depth_ros2_node',\n        name='pcd2depth_ros2_node', output='screen', parameters=[pcd2depth_params])\n    reprojection_config_path = os.path.join(package_dir, 'config', 'control_command.yaml')\n    with open(reprojection_config_path, 'r') as f:\n        reprojection_params = yaml.safe_load(f)\n    reprojection_calib_path = os.path.join(package_dir, 'config', 'calib.yaml')\n    reprojection_params['calib_file_path'] = reprojection_calib_path\n    cloud_reprojection_node = Node(\n        package='odin_ros_driver', executable='cloud_reprojection_ros2_node',\n        name='cloud_reprojection_ros2_node', output='screen', parameters=[reprojection_params])\n    overlay_config_path = os.path.join(package_dir, 'config', 'control_command.yaml')\n    with open(overlay_config_path, 'r') as f:\n        overlay_params = yaml.safe_load(f)\n    image_overlay_node = Node(\n        package='odin_ros_driver', executable='image_overlay_node',\n        name='image_overlay_node', output='screen', parameters=[overlay_params])\n    rviz_node = Node(\n        package='rviz2', executable='rviz2', name='rviz2', output='screen',\n        arguments=['-d', LaunchConfiguration('rviz_config')])\n    ld = LaunchDescription()\n    ld.add_action(config_file_arg)\n    ld.add_action(rviz_config_arg)\n    ld.add_action(host_sdk_node)\n    ld.add_action(pcd2depth_node)\n    ld.add_action(cloud_reprojection_node)\n    ld.add_action(image_overlay_node)\n    ld.add_action(rviz_node)\n    return ld\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003c!-- C++ 面板 --\u003e\n\u003cdiv id=\"odin-panel-cpp\" style=\"background: #0b1020; border-radius: 0 0 12px 12px; padding: 20px; display: none; overflow-x: auto;\"\u003e\n\u003cdiv style=\"display: flex; margin-bottom: 16px;\"\u003e\n\u003cdiv style=\"flex: 1;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cbutton id=\"odin-copy-cpp\" style=\"padding: 6px 16px; border-radius: 8px; border: 1px solid #334155; background: #1e293b; color: #e2e8f0; font-size: 0.85rem; cursor: pointer;\"\u003eCopy\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cpre id=\"odin-code-cpp\" style=\"margin: 0; padding: 16px; background: #0b1020; color: #d1d5db; font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size: 0.85rem; line-height: 1.7; overflow-x: auto; white-space: pre;\"\u003e\/\/ Enable the on-device algorithm\nint type = LIDAR_MODE_SLAM;\nlidar_set_mode(odinDevice, type);\n\/\/ Switch the algorithm to SLAM mode: set \"map_mode\" to 1\n\/\/ Different \"map_mode\" values correspond to:\n\/\/ 0: Odometry mode\n\/\/ 1: SLAM (mapping) mode\n\/\/ 2: Relocalization mode\nlidar_set_custom_parameter(device_handle device, const char* param_name, const void* value_data, size_t value_length);\n\/\/ Initialize the \"save_map\" flag to 0\nlidar_set_custom_parameter(device_handle device, const char* param_name, const void* value_data, size_t value_length);\n\/\/ Start the stream; the algorithm starts running and you can move the device to build the map\nlidar_start_stream(device_handle device, int type, uint32_t \u0026amp;dtof_subframe_odr);\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003c!-- 规格表 --\u003e\n\u003ch2 style=\"font-size: 1.6rem; margin: 48px 0 24px; color: #ffffff;\"\u003eTechnical Specifications\u003c\/h2\u003e\n\u003cdiv style=\"overflow-x: auto; border: 1px solid #1a2230; border-radius: 12px;\"\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 0.9rem;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"background: #0d1428;\"\u003e\n\u003cth style=\"text-align: left; padding: 12px 16px; border-bottom: 1px solid #1a2230; width: 30%; color: #ffffff;\"\u003eParameter\u003c\/th\u003e\n\u003cth style=\"text-align: left; padding: 12px 16px; border-bottom: 1px solid #1a2230; color: #ffffff;\"\u003eSpecification\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; font-weight: 600; color: #ffffff;\" colspan=\"2\"\u003eDepth Module\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eDepth Resolution\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003e240 × 180\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eMax Range\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003e30 m @ 10% reflectivity (\u0026lt;500 lux)\u003cbr\u003e70 m @ 90% reflectivity (\u0026lt;500 lux)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eMin Range\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003e0.2 m\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003ePoint Rate\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eUp to 700,000 pts\/s\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eDepth Accuracy\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003e±3 cm @ 1σ [1]\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eField of View (FOV)\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003e120° × 90°\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eAngular Resolution\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003e0.5° × 0.5°\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eLaser Wavelength\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003e940 nm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eLaser Safety\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eClass 1 (Eye Safe)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eFrame Rate\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eUp to 15 FPS\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; font-weight: 600; color: #ffffff;\" colspan=\"2\"\u003eRGB Camera Module\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eResolution\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003e1600 × 1296\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eShutter Type\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eGlobal Shutter\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eFOV (H×V)\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003e129° H × 104° V × 173° D\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; font-weight: 600; color: #ffffff;\" colspan=\"2\"\u003eOverall Machine\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eSLAM Positioning Accuracy\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003e±5 cm + 1% [2]\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eWeight\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eApproximately 280 g\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eDimensions (L×W×D)\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003e100 × 62 × 43 mm (body) \/ 46 mm (with connector)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003ePower Consumption\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003e11 W (rated), 24 W (peak)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eProtection Rating\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eIP66\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eOperating Voltage\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003e9-26 V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eOperating Temperature\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003e-10°C ~ 40°C\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eStorage Temperature\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003e-10°C ~ 45°C\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; font-weight: 600; color: #ffffff;\" colspan=\"2\"\u003eData Output \u0026amp; Software\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003ePoint Cloud Output\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eTrue Color SLAM \/ Raw Point Cloud\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eImage Output\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eRaw RGB Image\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eIMU\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eHigh-Frequency Raw Data\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003ePose Output\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eHigh-Frequency Rotation and Position Data\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eSoftware Interface\u003c\/td\u003e\n\u003ctd style=\"padding: 10px 16px; border-bottom: 1px solid #1a2230; color: #cbd5e1;\"\u003eComplete SDK \u0026amp; ROS interface, supports Linux platform\u003cbr\u003eSupports deployment of custom SLAM algorithms\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cp style=\"font-size: 0.8rem; color: #cbd5e1; margin-top: 8px;\"\u003e[1] Measured at 1σ under typical conditions. [2] With RTK correction.\u003c\/p\u003e\n\u003cscript\u003e\n    function odinTab(e, lang) {\n      var isRos = lang === 'ros';\n      document.getElementById('odin-panel-ros').style.display = isRos ? 'block' : 'none';\n      document.getElementById('odin-panel-cpp').style.display = isRos ? 'none' : 'block';\n      var tb = document.getElementById('odin-tab-ros');\n      var tc = document.getElementById('odin-tab-cpp');\n      tb.style.color = isRos ? '#ffffff' : '#94a3b8';\n      tb.style.borderBottom = isRos ? '3px solid #2563eb' : '3px solid transparent';\n      tc.style.color = isRos ? '#94a3b8' : '#ffffff';\n      tc.style.borderBottom = isRos ? '3px solid transparent' : '3px solid #2563eb';\n    }\n    function odinSub(e, ver) {\n      var is1 = ver === 'ros1';\n      document.getElementById('odin-code-ros1').style.display = is1 ? 'block' : 'none';\n      document.getElementById('odin-code-ros2').style.display = is1 ? 'none' : 'block';\n      var b1 = document.getElementById('odin-sub-ros1');\n      var b2 = document.getElementById('odin-sub-ros2');\n      b1.style.background = is1 ? '#2563eb' : '#1e293b';\n      b1.style.color = is1 ? '#ffffff' : '#94a3b8';\n      b2.style.background = is1 ? '#1e293b' : '#2563eb';\n      b2.style.color = is1 ? '#94a3b8' : '#ffffff';\n    }\n    function odinCopy(id) {\n      var el = document.getElementById(id);\n      var range = document.createRange();\n      range.selectNodeContents(el);\n      var sel = window.getSelection();\n      sel.removeAllRanges();\n      sel.addRange(range);\n      try { document.execCommand('copy'); } catch(err) {}\n      sel.removeAllRanges();\n    }\n  \n    (function(){\n      function bind(id, fn){ var el = document.getElementById(id); if (el) el.addEventListener('click', fn); }\n      bind('odin-tab-ros', function(e){ odinTab(e, 'ros'); });\n      bind('odin-tab-cpp', function(e){ odinTab(e, 'cpp'); });\n      bind('odin-sub-ros1', function(e){ odinSub(e, 'ros1'); });\n      bind('odin-sub-ros2', function(e){ odinSub(e, 'ros2'); });\n      bind('odin-copy-ros', function(){ odinCopy('odin-code-ros1'); });\n      bind('odin-copy-cpp', function(){ odinCopy('odin-code-cpp'); });\n    })();\n\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Manifold Tech","offers":[{"title":"Default Title","offer_id":42935292592203,"sku":"ODIN1-001","price":999.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0679\/2747\/4251\/files\/1_71c7d83f-7427-4152-b771-9d339795a8d1.png?v=1785398904","url":"https:\/\/store.3dmanifold.com\/products\/odin1-spatial-memory-module-for-robotics","provider":"Manifoldtec Official Shop","version":"1.0","type":"link"}