From decb64209c03b8b263774ad97407539592e49efc Mon Sep 17 00:00:00 2001 From: lyx080 Date: Mon, 26 Sep 2022 19:14:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/config_en.json | 4 +- config/config_zh.json | 4 +- docs/hardware/en/README.md | 2 +- .../maixsense-a010}/at_command_en.md | 2 +- .../maixsense-a010/maixsense-a010.md} | 46 +++++++------- .../assets/install_drivers/click_ok.png | Bin .../assets/install_drivers/finish.png | Bin .../assets/install_drivers/inf.png | Bin .../assets/install_drivers/install.png | Bin .../assets/install_drivers/next.png | Bin .../assets/install_drivers/path.png | Bin .../assets/install_drivers/scan.png | Bin .../assets/install_drivers/serial.png | Bin .../assets/install_drivers/update.png | Bin .../maixsense-a075v}/install_drivers.md | 0 .../maixsense-a075v/maixsense-a075v.md} | 48 +++++++------- .../en/{metasense => maixsense}/readme.md | 44 ++++++------- docs/hardware/en/sidebar.json | 12 ++-- docs/hardware/zh/README.md | 2 +- .../assets/me_big.jpg | Bin .../assets/me_car.gif | Bin .../assets/me_car.jpg | Bin .../assets/me_cars.jpg | Bin .../{metasense => maixsense}/assets/me_p.jpg | Bin .../{metasense => maixsense}/assets/me_ph.jpg | Bin .../{metasense => maixsense}/assets/me_pt.jpg | Bin .../assets/me_ptwo.jpg | Bin .../assets/me_rosb.jpg | Bin .../assets/me_ross.jpg | Bin .../assets/me_small.jpg | Bin .../{metasense => maixsense}/assets/meta.jpg | Bin .../{metasense => maixsense}/assets/tof.jpg | Bin .../assets/tof_two.jpg | Bin .../maixsense-a010}/assets/ms-people.jpg | Bin .../maixsense-a010}/assets/ms_carton.jpg | Bin .../maixsense-a010}/assets/ms_cloud.jpg | Bin .../maixsense-a010}/assets/ms_comtool.jpg | Bin .../maixsense-a010}/assets/ms_comtoolh.jpg | Bin .../maixsense-a010}/assets/ms_comtoolt.jpg | Bin .../maixsense-a010}/assets/ms_hand.jpg | Bin .../maixsense-a010}/assets/ms_lamp.jpg | Bin .../maixsense-a010}/assets/ms_lcd.jpg | Bin .../maixsense-a010}/assets/ms_mcu.jpg | Bin .../maixsense-a010}/assets/ms_pin.jpg | Bin .../maixsense-a010}/assets/ms_pinb.jpg | Bin .../maixsense-a010}/assets/ms_pinc.jpg | Bin .../maixsense-a010}/assets/ms_ros.jpg | Bin .../maixsense-a010}/assets/ms_rqt.jpg | Bin .../maixsense-a010}/assets/ms_rviz.jpg | Bin .../maixsense-a010}/assets/ms_s.jpg | Bin .../maixsense-a010}/at_command.md | 2 +- .../maixsense-a010}/code.md | 0 .../maixsense-a010/maixsense-a010.md} | 20 +++--- .../assets/install_drivers/finish.png | Bin .../assets/install_drivers/inf.png | Bin .../assets/install_drivers/install.png | Bin .../assets/install_drivers/next.png | Bin .../assets/install_drivers/path.png | Bin .../assets/install_drivers/scan.png | Bin .../assets/install_drivers/serial.png | Bin .../assets/install_drivers/update.png | Bin .../maixsense-a075v}/assets/mt_big.jpg | Bin .../maixsense-a075v}/assets/mt_cloud.jpg | Bin .../maixsense-a075v}/assets/mt_examle.jpg | Bin .../maixsense-a075v}/assets/mt_examleb.jpg | Bin .../maixsense-a075v}/assets/mt_examlec.jpg | Bin .../maixsense-a075v}/assets/mt_examled.jpg | Bin .../maixsense-a075v}/assets/mt_people.jpg | Bin .../maixsense-a075v}/assets/mt_pin.jpg | Bin .../maixsense-a075v}/assets/mt_ros.jpg | Bin .../maixsense-a075v}/assets/mt_rosb.jpg | Bin .../maixsense-a075v}/assets/mt_rosc.jpg | Bin .../maixsense-a075v}/assets/mt_rqt.jpg | Bin .../maixsense-a075v}/assets/mt_sdk.jpg | Bin .../maixsense-a075v}/assets/mt_volumbs.jpg | Bin .../maixsense-a075v}/assets/mt_volume.jpg | Bin .../maixsense-a075v}/install_drivers.md | 0 .../maixsense-a075v/maixsense-a075v.md} | 14 ++-- .../maixsense_075_tutorial.ipynb} | 0 .../zh/{metasense => maixsense}/readme.md | 26 ++++---- .../metasense-a010/assets/ms_cartont.jpg | Bin 76688 -> 0 bytes docs/hardware/zh/sidebar.json | 12 ++-- layout/home.html | 60 +++++++++--------- pages/index/en/maixsense.html | 11 ++++ pages/index/en/maixsense10.md | 4 ++ pages/index/en/maixsense75.md | 4 ++ pages/index/en/metasense.html | 11 ---- pages/index/en/metasense10.md | 4 -- pages/index/en/metasense75.md | 4 -- pages/index/zh/maixsense.md | 4 ++ pages/index/zh/metasense.md | 4 -- 91 files changed, 172 insertions(+), 172 deletions(-) rename docs/hardware/en/{metasense/metasense-a010 => maixsense/maixsense-a010}/at_command_en.md (98%) rename docs/hardware/en/{metasense/metasense-a010/metasense-a010.md => maixsense/maixsense-a010/maixsense-a010.md} (84%) rename docs/hardware/en/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/install_drivers/click_ok.png (100%) rename docs/hardware/en/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/install_drivers/finish.png (100%) rename docs/hardware/en/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/install_drivers/inf.png (100%) rename docs/hardware/en/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/install_drivers/install.png (100%) rename docs/hardware/en/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/install_drivers/next.png (100%) rename docs/hardware/en/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/install_drivers/path.png (100%) rename docs/hardware/en/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/install_drivers/scan.png (100%) rename docs/hardware/en/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/install_drivers/serial.png (100%) rename docs/hardware/en/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/install_drivers/update.png (100%) rename docs/hardware/en/{metasense/metasense-a075v => maixsense/maixsense-a075v}/install_drivers.md (100%) rename docs/hardware/en/{metasense/metasense-a075v/metasense-a075v.md => maixsense/maixsense-a075v/maixsense-a075v.md} (84%) rename docs/hardware/en/{metasense => maixsense}/readme.md (74%) rename docs/hardware/zh/{metasense => maixsense}/assets/me_big.jpg (100%) rename docs/hardware/zh/{metasense => maixsense}/assets/me_car.gif (100%) rename docs/hardware/zh/{metasense => maixsense}/assets/me_car.jpg (100%) rename docs/hardware/zh/{metasense => maixsense}/assets/me_cars.jpg (100%) rename docs/hardware/zh/{metasense => maixsense}/assets/me_p.jpg (100%) rename docs/hardware/zh/{metasense => maixsense}/assets/me_ph.jpg (100%) rename docs/hardware/zh/{metasense => maixsense}/assets/me_pt.jpg (100%) rename docs/hardware/zh/{metasense => maixsense}/assets/me_ptwo.jpg (100%) rename docs/hardware/zh/{metasense => maixsense}/assets/me_rosb.jpg (100%) rename docs/hardware/zh/{metasense => maixsense}/assets/me_ross.jpg (100%) rename docs/hardware/zh/{metasense => maixsense}/assets/me_small.jpg (100%) rename docs/hardware/zh/{metasense => maixsense}/assets/meta.jpg (100%) rename docs/hardware/zh/{metasense => maixsense}/assets/tof.jpg (100%) rename docs/hardware/zh/{metasense => maixsense}/assets/tof_two.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a010 => maixsense/maixsense-a010}/assets/ms-people.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a010 => maixsense/maixsense-a010}/assets/ms_carton.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a010 => maixsense/maixsense-a010}/assets/ms_cloud.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a010 => maixsense/maixsense-a010}/assets/ms_comtool.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a010 => maixsense/maixsense-a010}/assets/ms_comtoolh.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a010 => maixsense/maixsense-a010}/assets/ms_comtoolt.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a010 => maixsense/maixsense-a010}/assets/ms_hand.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a010 => maixsense/maixsense-a010}/assets/ms_lamp.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a010 => maixsense/maixsense-a010}/assets/ms_lcd.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a010 => maixsense/maixsense-a010}/assets/ms_mcu.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a010 => maixsense/maixsense-a010}/assets/ms_pin.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a010 => maixsense/maixsense-a010}/assets/ms_pinb.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a010 => maixsense/maixsense-a010}/assets/ms_pinc.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a010 => maixsense/maixsense-a010}/assets/ms_ros.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a010 => maixsense/maixsense-a010}/assets/ms_rqt.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a010 => maixsense/maixsense-a010}/assets/ms_rviz.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a010 => maixsense/maixsense-a010}/assets/ms_s.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a010 => maixsense/maixsense-a010}/at_command.md (99%) rename docs/hardware/zh/{metasense/metasense-a010 => maixsense/maixsense-a010}/code.md (100%) rename docs/hardware/zh/{metasense/metasense-a010/metasense-a010.md => maixsense/maixsense-a010/maixsense-a010.md} (93%) rename docs/hardware/zh/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/install_drivers/finish.png (100%) rename docs/hardware/zh/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/install_drivers/inf.png (100%) rename docs/hardware/zh/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/install_drivers/install.png (100%) rename docs/hardware/zh/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/install_drivers/next.png (100%) rename docs/hardware/zh/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/install_drivers/path.png (100%) rename docs/hardware/zh/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/install_drivers/scan.png (100%) rename docs/hardware/zh/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/install_drivers/serial.png (100%) rename docs/hardware/zh/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/install_drivers/update.png (100%) rename docs/hardware/zh/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/mt_big.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/mt_cloud.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/mt_examle.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/mt_examleb.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/mt_examlec.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/mt_examled.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/mt_people.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/mt_pin.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/mt_ros.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/mt_rosb.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/mt_rosc.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/mt_rqt.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/mt_sdk.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/mt_volumbs.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a075v => maixsense/maixsense-a075v}/assets/mt_volume.jpg (100%) rename docs/hardware/zh/{metasense/metasense-a075v => maixsense/maixsense-a075v}/install_drivers.md (100%) rename docs/hardware/zh/{metasense/metasense-a075v/metasense-a075v.md => maixsense/maixsense-a075v/maixsense-a075v.md} (95%) rename docs/hardware/zh/{metasense/metasense-a075v/matasense_075_tutorial.ipynb => maixsense/maixsense-a075v/maixsense_075_tutorial.ipynb} (100%) rename docs/hardware/zh/{metasense => maixsense}/readme.md (83%) delete mode 100644 docs/hardware/zh/metasense/metasense-a010/assets/ms_cartont.jpg create mode 100644 pages/index/en/maixsense.html create mode 100644 pages/index/en/maixsense10.md create mode 100644 pages/index/en/maixsense75.md delete mode 100644 pages/index/en/metasense.html delete mode 100644 pages/index/en/metasense10.md delete mode 100644 pages/index/en/metasense75.md create mode 100644 pages/index/zh/maixsense.md delete mode 100644 pages/index/zh/metasense.md diff --git a/config/config_en.json b/config/config_en.json index 01b5e939..7a81c7cb 100755 --- a/config/config_en.json +++ b/config/config_en.json @@ -36,8 +36,8 @@ "label": "Longan" }, { - "url": "/hardware/en/metasense/index.html", - "label": "MetaSense" + "url": "/hardware/en/maixsense/index.html", + "label": "MaixSense" }, { "url":"/hardware/en/modules_spmod/spmod_extender.html", diff --git a/config/config_zh.json b/config/config_zh.json index 27aeaaf6..e8c38902 100755 --- a/config/config_zh.json +++ b/config/config_zh.json @@ -35,8 +35,8 @@ "label": "Longan" }, { - "url": "/hardware/zh/metasense/index.html", - "label": "MetaSense" + "url": "/hardware/zh/maixsense/index.html", + "label": "MaixSense" }, { "url": "/hardware/zh/maixface/mf_ml_module/mf0_ml_module.html", diff --git a/docs/hardware/en/README.md b/docs/hardware/en/README.md index eaad0bf9..c2db8e60 100644 --- a/docs/hardware/en/README.md +++ b/docs/hardware/en/README.md @@ -32,7 +32,7 @@ FPGA Development board 3D TOF Module -[![](./../assets/metasense.jpg)](./metasense/readme.md) +[![](./../assets/maixsense.jpg)](./maixasense/readme.md) ## Longon Series diff --git a/docs/hardware/en/metasense/metasense-a010/at_command_en.md b/docs/hardware/en/maixsense/maixsense-a010/at_command_en.md similarity index 98% rename from docs/hardware/en/metasense/metasense-a010/at_command_en.md rename to docs/hardware/en/maixsense/maixsense-a010/at_command_en.md index 98e5bbee..2d634ab1 100644 --- a/docs/hardware/en/metasense/metasense-a010/at_command_en.md +++ b/docs/hardware/en/maixsense/maixsense-a010/at_command_en.md @@ -1,4 +1,4 @@ -# MetaSense-A010 二次开发手册 +# MaixSense-A010 二次开发手册 ## AT 指令表 diff --git a/docs/hardware/en/metasense/metasense-a010/metasense-a010.md b/docs/hardware/en/maixsense/maixsense-a010/maixsense-a010.md similarity index 84% rename from docs/hardware/en/metasense/metasense-a010/metasense-a010.md rename to docs/hardware/en/maixsense/maixsense-a010/maixsense-a010.md index 556bbb08..c2a76019 100644 --- a/docs/hardware/en/metasense/metasense-a010/metasense-a010.md +++ b/docs/hardware/en/maixsense/maixsense-a010/maixsense-a010.md @@ -1,14 +1,14 @@ -# MetaSense-A010 +# MaixSense-A010 ## Product description -![ms_small](./../../../zh/metasense/metasense-a010/assets/ms_s.jpg) +![ms_small](./../../../zh/maixsense/maixsense-a010/assets/ms_s.jpg) -MetaSense-A010 is an extremely cost-effective 3D sensor module composed of BL702 + OPNOUS 100x100 TOF launched by Sipeed, which supports a maximum resolution of 100x100 and 8-bit precision, and comes with a 240x135 pixel LCD display to preview the depth map after colormap in real time. +MaixSense-A010 is an extremely cost-effective 3D sensor module composed of BL702 + OPNOUS 100x100 TOF launched by Sipeed, which supports a maximum resolution of 100x100 and 8-bit precision, and comes with a 240x135 pixel LCD display to preview the depth map after colormap in real time. **Data summary** -Hardware information:[Click to download](https://dl.sipeed.com/shareURL/MetaSense/MetaSense_A010) +Hardware information:[Click to download](https://dl.sipeed.com/shareURL/MaixSense/MaixSense_A010) ## Product unpacking guide @@ -20,13 +20,13 @@ This device adopts the serial port protocol to provide external interface and tr After connecting to the computer through the type-c interface, it can identify /dev/ttyUSBx (Linux) or COMx (Windows). -![ms_pinb](./../../../zh/metasense/metasense-a010/assets/ms_pinb.jpg) +![ms_pinb](./../../../zh/maixsense/maixsense-a010/assets/ms_pinb.jpg) You can also connect the 4pin female socket through the usb2ttl module according to the hardware pin diagram. Hardware pinout picture: Screen face down - - + + @@ -48,7 +48,7 @@ Hardware pinout picture: Screen face down **COMTOOL package** -Windows system:[Click to download](https://dl.sipeed.com/shareURL/MetaSense/MetaSense_A010/software_pack/comtool) +Windows system:[Click to download](https://dl.sipeed.com/shareURL/MaixSense/MaixSense_A010/software_pack/comtool) Linux system: download package is not provided, users need to compile it by themselves.[Obtain](https://github.com/sipeed/COMTool) @@ -58,18 +58,18 @@ Note: Windows 7 and below systems need to install the driver, you can go to the After the device is powered on, the LCD screen on the device can preview the depth pseudo-color image after the color map in real time. -![ms_comtool](./../../../zh/metasense/metasense-a010/assets/ms_lcd.jpg) +![ms_comtool](./../../../zh/maixsense/maixsense-a010/assets/ms_lcd.jpg) ### PC side preview interaction 1. After opening the COMTOOL software, if there is no Graph above the software, you can add a Graph at the + sign in the upper right corner. After creating the Graph, if the center part is white and no graph, **double-click** MaixSenseLite in the lower left corner to open the interface display port. -![ms_lcd](./../../../zh/metasense/metasense-a010/assets/ms_comtool.jpg) +![ms_lcd](./../../../zh/maixsense/maixsense-a010/assets/ms_comtool.jpg) 2. Select the small Port and the corresponding baud rate on the left (select a high baud rate arbitrarily), click open and then check the USB below to receive a large amount of data, and Connected will be displayed in the lower left corner. -![ms_comtool_two](./../../../zh/metasense/metasense-a010/assets/ms_comtoolt.jpg) +![ms_comtool_two](./../../../zh/maixsense/maixsense-a010/assets/ms_comtoolt.jpg) 3. Set the Header to \x00\xFF to correctly parse the image data and observe the depth map to intuitively feel the depth on the 2D flat image. -![ms_comtool_three](./../../../zh/metasense/metasense-a010/assets/ms_comtoolh.jpg) +![ms_comtool_three](./../../../zh/maixsense/maixsense-a010/assets/ms_comtoolh.jpg) ### Comtool configuration instructions @@ -91,15 +91,15 @@ Comtool configuration control description of the host computer The distance between the objects is placed to form the difference in depth value. After the module captures the difference, it displays a warm and cold color, a warm color when the distance is close, and a cool color when the distance is far. -![ms-carton](./../../../zh/metasense/metasense-a010/assets/ms_carton.jpg) +![ms-carton](./../../../zh/maixsense/maixsense-a010/assets/ms_carton.jpg) ## Case:Keyboard lights follow gesture changes Realize super cool keyboard light follow,track the position of the hand in real time,and then map the keyboard light according to the position of the hand. -[Related code](https://dl.sipeed.com/shareURL/others/metasense_example) +[Related code](https://dl.sipeed.com/shareURL/others/maixsense_example) -![ma_lamp](./../../../zh/metasense/metasense-a010/assets/ms_lamp.jpg) +![ma_lamp](./../../../zh/maixsense/maixsense-a010/assets/ms_lamp.jpg) ## Case:Access to MCU - MS-A010 has strong compatibility and is based on serial protocol. It can be connected to single-chip development boards such as K210 bit or linux development boards such as Raspberry Pi for secondary development. @@ -107,15 +107,15 @@ Realize super cool keyboard light follow,track the position of the hand in real [Click to learn about K210 Bit](https://www.aliexpress.com/item/1005002547039100.html?spm=5261.ProductManageOnline.0.0.15744edfvEngHc) -[MS-A010 external K210 bit source code acquisition](./../../../zh/metasense/metasense-a010/code.html#tof_mainpy) +[MS-A010 external K210 bit source code acquisition](./../../../zh/maixsense/maixsense-a010/code.html#tof_mainpy) -![ms_mcu](./../../../zh/metasense/metasense-a010/assets/ms_mcu.jpg) +![ms_mcu](./../../../zh/maixsense/maixsense-a010/assets/ms_mcu.jpg) ## Secondary development:Serial protocol Please refer to the above case: **MS-A010 external K210 bit** -MS-A010 Secondary Development Manual:[Click to view](http://wiki.sipeed.com/hardware/en/metasense/metasense-a010/at_command_en.html) +MS-A010 Secondary Development Manual:[Click to view](http://wiki.sipeed.com/hardware/en/maixsense/maixsense-a010/at_command_en.html) ## Secondary development:Access ROS @@ -128,7 +128,7 @@ You can use the virtual machine `virtual box` or `vmware`. **2. Install and run** -Since we provide the access function package of ROS2, if you run ROS1, you only need to switch branches.[Access package download.](https://dl.sipeed.com/shareURL/MetaSense/MetaSense_A010/software_pack/SDK) +Since we provide the access function package of ROS2, if you run ROS1, you only need to switch branches.[Access package download.](https://dl.sipeed.com/shareURL/MaixSense/MaixSense_A010/software_pack/SDK) ```bash @@ -148,7 +148,7 @@ rosrun sipeed_tof_ms_a010 a010_publisher _device:="/dev/ttyUSB0" After opening `rviz2`, in the lower left corner of the interface `Add`->`By topic`->`PointCloud2 or /depth` ->`Image Add` ->`Display/Global Options/Fixed Frame` needs to be modified to `tof `, the point cloud can be displayed normally. According to the added content, `Image` will be displayed on the left and the point cloud will be displayed in the middle. -![ms_rviz](./../../../zh/metasense/metasense-a010/assets/ms_rviz.jpg) +![ms_rviz](./../../../zh/maixsense/maixsense-a010/assets/ms_rviz.jpg) ### Access ROS1 @@ -159,7 +159,7 @@ You can use the virtual machine `virtual box` or `vmware`. **2. Install and run** -We provide an access package for ROS2, which users need to compile and install on a system running ROS2.[Access package download.](https://dl.sipeed.com/shareURL/MetaSense/MetaSense_A010/software_pack/SDK) +We provide an access package for ROS2, which users need to compile and install on a system running ROS2.[Access package download.](https://dl.sipeed.com/shareURL/MaixSense/MaixSense_A010/software_pack/SDK) ```bash #Unzip sipeed_tof_ms_a010.zip and enter the directory @@ -172,10 +172,10 @@ source install/setup.sh **3. RQT View frame rate** -![ms_rqt](./../../../zh/metasense/metasense-a010/assets/ms_rqt.jpg) +![ms_rqt](./../../../zh/maixsense/maixsense-a010/assets/ms_rqt.jpg) **4. RVIZ2 Preview** After opening `rviz2`, in the lower left corner of the interface `Add`->`By topic`->`PointCloud2 or /depth` ->`Image Add` ->`Display/Global Options/Fixed Frame` needs to be modified to `tof `, the point cloud can be displayed normally. According to the added content, `Image` will be displayed on the left and the point cloud will be displayed in the middle. -![ms_ros](./../../../zh/metasense/metasense-a010/assets/ms_ros.jpg) \ No newline at end of file +![ms_ros](./../../../zh/maixsense/maixsense-a010/assets/ms_ros.jpg) \ No newline at end of file diff --git a/docs/hardware/en/metasense/metasense-a075v/assets/install_drivers/click_ok.png b/docs/hardware/en/maixsense/maixsense-a075v/assets/install_drivers/click_ok.png similarity index 100% rename from docs/hardware/en/metasense/metasense-a075v/assets/install_drivers/click_ok.png rename to docs/hardware/en/maixsense/maixsense-a075v/assets/install_drivers/click_ok.png diff --git a/docs/hardware/en/metasense/metasense-a075v/assets/install_drivers/finish.png b/docs/hardware/en/maixsense/maixsense-a075v/assets/install_drivers/finish.png similarity index 100% rename from docs/hardware/en/metasense/metasense-a075v/assets/install_drivers/finish.png rename to docs/hardware/en/maixsense/maixsense-a075v/assets/install_drivers/finish.png diff --git a/docs/hardware/en/metasense/metasense-a075v/assets/install_drivers/inf.png b/docs/hardware/en/maixsense/maixsense-a075v/assets/install_drivers/inf.png similarity index 100% rename from docs/hardware/en/metasense/metasense-a075v/assets/install_drivers/inf.png rename to docs/hardware/en/maixsense/maixsense-a075v/assets/install_drivers/inf.png diff --git a/docs/hardware/en/metasense/metasense-a075v/assets/install_drivers/install.png b/docs/hardware/en/maixsense/maixsense-a075v/assets/install_drivers/install.png similarity index 100% rename from docs/hardware/en/metasense/metasense-a075v/assets/install_drivers/install.png rename to docs/hardware/en/maixsense/maixsense-a075v/assets/install_drivers/install.png diff --git a/docs/hardware/en/metasense/metasense-a075v/assets/install_drivers/next.png b/docs/hardware/en/maixsense/maixsense-a075v/assets/install_drivers/next.png similarity index 100% rename from docs/hardware/en/metasense/metasense-a075v/assets/install_drivers/next.png rename to docs/hardware/en/maixsense/maixsense-a075v/assets/install_drivers/next.png diff --git a/docs/hardware/en/metasense/metasense-a075v/assets/install_drivers/path.png b/docs/hardware/en/maixsense/maixsense-a075v/assets/install_drivers/path.png similarity index 100% rename from docs/hardware/en/metasense/metasense-a075v/assets/install_drivers/path.png rename to docs/hardware/en/maixsense/maixsense-a075v/assets/install_drivers/path.png diff --git a/docs/hardware/en/metasense/metasense-a075v/assets/install_drivers/scan.png b/docs/hardware/en/maixsense/maixsense-a075v/assets/install_drivers/scan.png similarity index 100% rename from docs/hardware/en/metasense/metasense-a075v/assets/install_drivers/scan.png rename to docs/hardware/en/maixsense/maixsense-a075v/assets/install_drivers/scan.png diff --git a/docs/hardware/en/metasense/metasense-a075v/assets/install_drivers/serial.png b/docs/hardware/en/maixsense/maixsense-a075v/assets/install_drivers/serial.png similarity index 100% rename from docs/hardware/en/metasense/metasense-a075v/assets/install_drivers/serial.png rename to docs/hardware/en/maixsense/maixsense-a075v/assets/install_drivers/serial.png diff --git a/docs/hardware/en/metasense/metasense-a075v/assets/install_drivers/update.png b/docs/hardware/en/maixsense/maixsense-a075v/assets/install_drivers/update.png similarity index 100% rename from docs/hardware/en/metasense/metasense-a075v/assets/install_drivers/update.png rename to docs/hardware/en/maixsense/maixsense-a075v/assets/install_drivers/update.png diff --git a/docs/hardware/en/metasense/metasense-a075v/install_drivers.md b/docs/hardware/en/maixsense/maixsense-a075v/install_drivers.md similarity index 100% rename from docs/hardware/en/metasense/metasense-a075v/install_drivers.md rename to docs/hardware/en/maixsense/maixsense-a075v/install_drivers.md diff --git a/docs/hardware/en/metasense/metasense-a075v/metasense-a075v.md b/docs/hardware/en/maixsense/maixsense-a075v/maixsense-a075v.md similarity index 84% rename from docs/hardware/en/metasense/metasense-a075v/metasense-a075v.md rename to docs/hardware/en/maixsense/maixsense-a075v/maixsense-a075v.md index c4ba2c88..db840672 100644 --- a/docs/hardware/en/metasense/metasense-a075v/metasense-a075v.md +++ b/docs/hardware/en/maixsense/maixsense-a075v/maixsense-a075v.md @@ -1,8 +1,8 @@ -# MetaSense-A075V +# MaixSense-A075V ## Summary -![mt_big](./../../../zh/metasense/metasense-a075v/assets/mt_big.jpg) +![mt_big](./../../../zh/maixsense/maixsense-a075v/assets/mt_big.jpg) MS-A075V is a 3D TOF camera module with RGB designed by Sipeed, can display the live 3D picture. @@ -12,13 +12,13 @@ MS-A075V is a 3D TOF camera module with RGB designed by Sipeed, can display the **Wiring diagram** -![tof-07514](./../../../zh/metasense/metasense-a075v/assets/mt_pin.jpg) +![tof-07514](./../../../zh/maixsense/maixsense-a075v/assets/mt_pin.jpg) **Install driver**: Before using this device, make sure that the 192.168.233.0/24 address segment is not occupied in your network environment, because the MS-A075V uses RNDIS and sets its IP address http://192.168.233.1 - [Windows drivers](https://dl.sipeed.com/shareURL/MetaSense/Drivers) + [Windows drivers](https://dl.sipeed.com/shareURL/MaixSense/Drivers) [Windows drivers installation guide](./install_drivers.md) ### On-page preview @@ -28,19 +28,19 @@ Before using this device, make sure that the 192.168.233.0/24 address segment is 3. These are the examples caputred by MS-A075V(From the front and the side). - - + + 4. We can preview the depth pseudo-color point cloud map. Open the interaction panel in the upper right corner, uncheck RGB_Map in the first line. -![mt_examlec](./../../../zh/metasense/metasense-a075v/assets/mt_examlec.jpg) +![mt_examlec](./../../../zh/maixsense/maixsense-a075v/assets/mt_examlec.jpg) ### Interactive configuration The preview webpage contained many function configurations, we can change them to get different live preview result. -![mt_examled](./../../../zh/metasense/metasense-a075v/assets/mt_examled.jpg) +![mt_examled](./../../../zh/maixsense/maixsense-a075v/assets/mt_examled.jpg) Here tells the functions of each widgets. - **RGB_Map** checkbox, control RGB map. Display the deep pseudo-colored point map when checked, display the RGB-mapped point cloud map when unchecked. @@ -71,22 +71,22 @@ Note: The data of raw can be get through open interface, which developers can do High-precision mapping of differences in object placement distances, point cloud maps can intuitively feel a more realistic visualization. -![mt_cloud](./../../../zh/metasense/metasense-a075v/assets/mt_cloud.jpg) +![mt_cloud](./../../../zh/maixsense/maixsense-a075v/assets/mt_cloud.jpg) ### Car avoid obstacles The module can be carried by a car or drone to move back and forth to obtain the depth value of the obstacle, and judge whether there is an obstacle in the screen through the difference, make a rapid response and accurately avoid the obstacle (the example has not been open sourced, will be sorted out and disclosed). - - + + ### Detect foot traffic High-precision, high resolution real-time monitoring of the flow of people moving around the situation statistics(the example has not been open sourced, will be sorted out and disclosed). - - + + ## Custom development @@ -97,7 +97,7 @@ This is a SDK based on Python3. MS-A075V opens its http interface, we can get it To help user understand the struct of data package and the relevant logic of decoding, we provide decoding related functions that encapsulate http requests and native data, based on which users can do custom development. -**Get SDK**:[Click to download](https://dl.sipeed.com/fileList/others/metasense_example/matasense_075_tutorial.ipynb) +**Get SDK**:[Click to download](https://dl.sipeed.com/fileList/others/maixsense_example/matasense_075_tutorial.ipynb) **Method**:Install jupyter, connect to the TOF module, then open the `toturial.py` file. @@ -105,19 +105,19 @@ To help user understand the struct of data package and the relevant logic of dec After understanding the struct of data package and the relevant logic of decoding from `Python SDK`, we can do advanced development, continuously get, decode and call the third-party `python` image library, like matplotlib for live display. The `toturial.py` gives the implementation of getting onr frame data, and it can achieve live display by plt with loop. -**Decoding and steraming**:[Click me to see content of stream.py](https://wiki.sipeed.com/hardware/zh/metasense/metasense-a010/code.html#streampy) +**Decoding and steraming**:[Click me to see content of stream.py](https://wiki.sipeed.com/hardware/zh/maixsense/maixsense-a010/code.html#streampy) **Methods**:Run command `python stream.py` after installing all dependent packages. -![mt_sdk](./../../../zh/metasense/metasense-a075v/assets/mt_sdk.jpg) +![mt_sdk](./../../../zh/maixsense/maixsense-a075v/assets/mt_sdk.jpg) ### Detect volume Based on third-party `python` library,and have understood the logic of getting and decoding data, we can do more development: Continuously display frames, roughly calculate the point cloud through the data from TOF module by SDK, do the accumulation to get the total volume. Limit: The top view should include all details except bottom. -**Detect volume**:[Click to view calVolumes.py](https://wiki.sipeed.com/hardware/zh/metasense/metasense-a010/code.html#calvolumespy) +**Detect volume**:[Click to view calVolumes.py](https://wiki.sipeed.com/hardware/zh/maixsense/maixsense-a010/code.html#calvolumespy) **Methods**:Run command `python calVolumes.py` after installing all dependent packages, there will be notice after you run it. -![mt_volumbs](./../../../zh/metasense/metasense-a075v/assets/mt_volumbs.jpg) +![mt_volumbs](./../../../zh/maixsense/maixsense-a075v/assets/mt_volumbs.jpg) ## Use ROS ### Use ROS1 @@ -128,7 +128,7 @@ Prepare a Linux enviroment for ROS. **2. Install and RUN** -Because the functional package we provide is for ROS2, if you want to use it on ROS1 just switch the branch is ok.[Access package download.](https://dl.sipeed.com/shareURL/MetaSense/MetaSense_A075V/software/SDK) +Because the functional package we provide is for ROS2, if you want to use it on ROS1 just switch the branch is ok.[Access package download.](https://dl.sipeed.com/shareURL/MaixSense/MaixSense_A075V/software/SDK) ```bash #Extract Sipeed_tof_ms_a010.zip,and open its path @@ -147,7 +147,7 @@ rosrun sipeed_tof_cpp publisher Open `rviz2`, in the bottom left interface choose `Add`->`By topic`->`PointCloud2 or/depth` ->`Image add` ->`Display/Global Options/Fixed Frame`, changed it into `tof`, in this way it displays point cloud normally. According to the added content, the `Image` displays in the left and the point cloud display in the center. -![mt_ros](./../../../zh/metasense/metasense-a075v/assets/mt_ros.jpg) +![mt_ros](./../../../zh/maixsense/maixsense-a075v/assets/mt_ros.jpg) ### Use ROS2 @@ -157,7 +157,7 @@ Prepare a Linux enviroment for ROS. **2. Install and RUN** -We have provided the functional package for ROS2, users need compile and run it on the system with ROS2.[Access package download.](https://dl.sipeed.com/shareURL/MetaSense/MetaSense_A075V/software/SDK). +We have provided the functional package for ROS2, users need compile and run it on the system with ROS2.[Access package download.](https://dl.sipeed.com/shareURL/MaixSense/MaixSense_A075V/software/SDK). ``` bash #Extract sipeed_tof_cpp.zip,and open its path @@ -170,7 +170,7 @@ ros2 run sipeed_tof_cpp publisher **3. View frames by RQT** -![mt_rqt](./../../../zh/metasense/metasense-a075v/assets/../assets/mt_rqt.jpg) +![mt_rqt](./../../../zh/maixsense/maixsense-a075v/assets/../assets/mt_rqt.jpg) **4. RVIZ2 Priview** @@ -180,7 +180,7 @@ in this way it displays point cloud normally. According to the added content, th **The result of mixing Pseudo-colored point clouds and RGB:** - - + + diff --git a/docs/hardware/en/metasense/readme.md b/docs/hardware/en/maixsense/readme.md similarity index 74% rename from docs/hardware/en/metasense/readme.md rename to docs/hardware/en/maixsense/readme.md index 1cfa0232..9568399b 100644 --- a/docs/hardware/en/metasense/readme.md +++ b/docs/hardware/en/maixsense/readme.md @@ -1,21 +1,21 @@ --- -title: MetaSense series +title: MaixSense series --- -## What is MetaSense? +## What is MaixSense? -summary +summary -MetaSense series products are equipped with TOF depth cameras, currently there are two products: MetaSense-A010 and MetaSense-A075V. +MaixSense series products are equipped with TOF depth cameras, currently there are two products: MaixSense-A010 and MaixSense-A075V. - MS-A010 is an extremely cost-effective TOF 3D sensor module composed of BL702 + OPNOUS 100x100 TOF module, which supports a maximum resolution of 100x100 and 8-bit Preview the depth map after color map in real time. - While MS-A075V is a 3D TOF camera module with RGB function, this module can realize Linux driver-free plug-and-play and real-time color 3D display. -Purchase method:[Crowdfunding pre-sale](https://igg.me/at/MetaSense) +Purchase method:[Crowdfunding pre-sale](https://igg.me/at/MaixSense) -|              |

MateSense-A010

|

MateSense-A075V

| +|              |

MaixSense-A010

|

MaixSense-A075V

| | :----------- |:----------------------------------------------- | :------------------------------------------------- | -|              |![me-small](./../../zh/metasense/assets/me_small.jpg)                | ![me-big](./../../zh/metasense/assets/me_big.jpg)                  | +|              |![me-small](./../../zh/maixsense/assets/me_small.jpg)                | ![me-big](./../../zh/maixsense/assets/me_big.jpg)                  | | Interface         | UART 1.25mm connector \*1
Type-C USB2.0 connector \*1       | UART 1.25mm connector \*1
Type-C USB2.0 connector \*1         | | Resolution      |TOF:100x100@30fps                               | RGB:1600x1200@30fps
TOF:320x240@60fps         | | FOV      |RGB:无
TOF:70°(H) * 60°(V)                  | RGB:120°
TOF:55°(H)*72°(H)                    | @@ -24,7 +24,7 @@ Purchase method:[Crowdfunding pre-sale](https://igg.me/at/MetaSense) | Distance     |0.2-2.5m                                         | 0.15-1.5m                                          | | Accuracy   |<=1%/cm                                       | <=1%/cm                                         | -## What can MetaSense do? +## What can MaixSense do? ### Case:Real shot of far, middle and near objects @@ -32,8 +32,8 @@ Purchase method:[Crowdfunding pre-sale](https://igg.me/at/MetaSense) High-precision mapping of the difference in the distance between items, the point cloud map can intuitively feel a more realistic visualization. - - + + ### Case:statistics traffic @@ -41,42 +41,42 @@ High-precision mapping of the difference in the distance between items, the poin It can monitor the flow of people in real time and make statistics with high precision and large resolution. - - + + ### Case:obstacle avoidance car It can be mounted on a robot car to move and determine whether there are obstacles on the screen.The module comes with an LCD screen to accurately display the distance and respond to avoid obstacles. -![me_car](./../../zh/metasense/assets/me_car.jpg) +![me_car](./../../zh/maixsense/assets/me_car.jpg) ### Case:Keyboard lights follow gesture changes Realize super cool keyboard light follow,track the position of the hand in real time,and then map the keyboard light according to the position of the hand. -![ms_lamp](./../../zh/metasense/metasense-a010/assets/ms_lamp.jpg) +![ms_lamp](./../../zh/maixsense/maixsense-a010/assets/ms_lamp.jpg) ### Case:Volume measurement After obtaining the camera internal parameters through the SDK, a preliminary point cloud is calculated, and the total volume is accumulated to achieve the effect of volume measurement. -![mt_volume](./../../zh/metasense/metasense-a075v/assets/mt_volumbs.jpg) +![mt_volume](./../../zh/maixsense/maixsense-a075v/assets/mt_volumbs.jpg) ### Case:Access to MCU MS-A010 has strong compatibility and is based on serial protocol. It can be connected to single-chip development boards such as K210 bit or linux development boards such as Raspberry Pi for secondary development. -![ms_mcu](./../../zh/metasense/metasense-a010/assets/ms_mcu.jpg) +![ms_mcu](./../../zh/maixsense/maixsense-a010/assets/ms_mcu.jpg) ### Case: Support ROS1 + ROS2 Dual support ROS system, open ROS1 + ROS2 access function package, can quickly obtain depth data and depth map. - - + + ## Quick understanding of TOF technology @@ -84,11 +84,11 @@ Dual support ROS system, open ROS1 + ROS2 access function package, can quickly o 1. TOF: It is a method of distance measurement, which calculates the distance between the two by measuring the "time of flight" of signals such as ultrasonic/microwave/light between the transmitter and the reflector. It is the TOF sensor that can achieve TOF ranging. The most commonly used is infrared or laser ranging. 2. There is a difference in the distance between the objects. The module displays the cold and warm colors through the difference of the captured depth values. The cool and warm colors change with the mapping of the distance. - - + + ## More -For more detailed information about MS-010: [Click to jump](https://wiki.sipeed.com/en/metasense10) -For more detailed information about MS-075: [Click to jump](https://wiki.sipeed.com/en/metasense75) +For more detailed information about MS-010: [Click to jump](https://wiki.sipeed.com/en/maixsense10) +For more detailed information about MS-075: [Click to jump](https://wiki.sipeed.com/en/maixsense75) diff --git a/docs/hardware/en/sidebar.json b/docs/hardware/en/sidebar.json index c67af0c1..01085621 100644 --- a/docs/hardware/en/sidebar.json +++ b/docs/hardware/en/sidebar.json @@ -269,16 +269,16 @@ ] }, { - "label": "MetaSense", - "file": "metasense/readme.md", + "label": "MaixSense", + "file": "maixsense/readme.md", "items": [ { - "label": "MetaSense-a010", - "file": "metasense/metasense-a010/metasense-a010.md" + "label": "MaixSense-a010", + "file": "maixsense/maixsense-a010/maixsense-a010.md" }, { - "label": "MetaSense-a075v", - "file": "metasense/metasense-a075v/metasense-a075v.md" + "label": "MaixSense-a075v", + "file": "maixsense/maixsense-a075v/maixsense-a075v.md" } ] }, diff --git a/docs/hardware/zh/README.md b/docs/hardware/zh/README.md index 930d3449..e5feb5cf 100644 --- a/docs/hardware/zh/README.md +++ b/docs/hardware/zh/README.md @@ -32,7 +32,7 @@ FPGA 开发板 3D TOF 模组 -[![](./../assets/metasense.jpg)](./metasense/readme.md) +[![](./../assets/maixsense.jpg)](./maixsense/readme.md) ## Longon 系列 diff --git a/docs/hardware/zh/metasense/assets/me_big.jpg b/docs/hardware/zh/maixsense/assets/me_big.jpg similarity index 100% rename from docs/hardware/zh/metasense/assets/me_big.jpg rename to docs/hardware/zh/maixsense/assets/me_big.jpg diff --git a/docs/hardware/zh/metasense/assets/me_car.gif b/docs/hardware/zh/maixsense/assets/me_car.gif similarity index 100% rename from docs/hardware/zh/metasense/assets/me_car.gif rename to docs/hardware/zh/maixsense/assets/me_car.gif diff --git a/docs/hardware/zh/metasense/assets/me_car.jpg b/docs/hardware/zh/maixsense/assets/me_car.jpg similarity index 100% rename from docs/hardware/zh/metasense/assets/me_car.jpg rename to docs/hardware/zh/maixsense/assets/me_car.jpg diff --git a/docs/hardware/zh/metasense/assets/me_cars.jpg b/docs/hardware/zh/maixsense/assets/me_cars.jpg similarity index 100% rename from docs/hardware/zh/metasense/assets/me_cars.jpg rename to docs/hardware/zh/maixsense/assets/me_cars.jpg diff --git a/docs/hardware/zh/metasense/assets/me_p.jpg b/docs/hardware/zh/maixsense/assets/me_p.jpg similarity index 100% rename from docs/hardware/zh/metasense/assets/me_p.jpg rename to docs/hardware/zh/maixsense/assets/me_p.jpg diff --git a/docs/hardware/zh/metasense/assets/me_ph.jpg b/docs/hardware/zh/maixsense/assets/me_ph.jpg similarity index 100% rename from docs/hardware/zh/metasense/assets/me_ph.jpg rename to docs/hardware/zh/maixsense/assets/me_ph.jpg diff --git a/docs/hardware/zh/metasense/assets/me_pt.jpg b/docs/hardware/zh/maixsense/assets/me_pt.jpg similarity index 100% rename from docs/hardware/zh/metasense/assets/me_pt.jpg rename to docs/hardware/zh/maixsense/assets/me_pt.jpg diff --git a/docs/hardware/zh/metasense/assets/me_ptwo.jpg b/docs/hardware/zh/maixsense/assets/me_ptwo.jpg similarity index 100% rename from docs/hardware/zh/metasense/assets/me_ptwo.jpg rename to docs/hardware/zh/maixsense/assets/me_ptwo.jpg diff --git a/docs/hardware/zh/metasense/assets/me_rosb.jpg b/docs/hardware/zh/maixsense/assets/me_rosb.jpg similarity index 100% rename from docs/hardware/zh/metasense/assets/me_rosb.jpg rename to docs/hardware/zh/maixsense/assets/me_rosb.jpg diff --git a/docs/hardware/zh/metasense/assets/me_ross.jpg b/docs/hardware/zh/maixsense/assets/me_ross.jpg similarity index 100% rename from docs/hardware/zh/metasense/assets/me_ross.jpg rename to docs/hardware/zh/maixsense/assets/me_ross.jpg diff --git a/docs/hardware/zh/metasense/assets/me_small.jpg b/docs/hardware/zh/maixsense/assets/me_small.jpg similarity index 100% rename from docs/hardware/zh/metasense/assets/me_small.jpg rename to docs/hardware/zh/maixsense/assets/me_small.jpg diff --git a/docs/hardware/zh/metasense/assets/meta.jpg b/docs/hardware/zh/maixsense/assets/meta.jpg similarity index 100% rename from docs/hardware/zh/metasense/assets/meta.jpg rename to docs/hardware/zh/maixsense/assets/meta.jpg diff --git a/docs/hardware/zh/metasense/assets/tof.jpg b/docs/hardware/zh/maixsense/assets/tof.jpg similarity index 100% rename from docs/hardware/zh/metasense/assets/tof.jpg rename to docs/hardware/zh/maixsense/assets/tof.jpg diff --git a/docs/hardware/zh/metasense/assets/tof_two.jpg b/docs/hardware/zh/maixsense/assets/tof_two.jpg similarity index 100% rename from docs/hardware/zh/metasense/assets/tof_two.jpg rename to docs/hardware/zh/maixsense/assets/tof_two.jpg diff --git a/docs/hardware/zh/metasense/metasense-a010/assets/ms-people.jpg b/docs/hardware/zh/maixsense/maixsense-a010/assets/ms-people.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a010/assets/ms-people.jpg rename to docs/hardware/zh/maixsense/maixsense-a010/assets/ms-people.jpg diff --git a/docs/hardware/zh/metasense/metasense-a010/assets/ms_carton.jpg b/docs/hardware/zh/maixsense/maixsense-a010/assets/ms_carton.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a010/assets/ms_carton.jpg rename to docs/hardware/zh/maixsense/maixsense-a010/assets/ms_carton.jpg diff --git a/docs/hardware/zh/metasense/metasense-a010/assets/ms_cloud.jpg b/docs/hardware/zh/maixsense/maixsense-a010/assets/ms_cloud.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a010/assets/ms_cloud.jpg rename to docs/hardware/zh/maixsense/maixsense-a010/assets/ms_cloud.jpg diff --git a/docs/hardware/zh/metasense/metasense-a010/assets/ms_comtool.jpg b/docs/hardware/zh/maixsense/maixsense-a010/assets/ms_comtool.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a010/assets/ms_comtool.jpg rename to docs/hardware/zh/maixsense/maixsense-a010/assets/ms_comtool.jpg diff --git a/docs/hardware/zh/metasense/metasense-a010/assets/ms_comtoolh.jpg b/docs/hardware/zh/maixsense/maixsense-a010/assets/ms_comtoolh.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a010/assets/ms_comtoolh.jpg rename to docs/hardware/zh/maixsense/maixsense-a010/assets/ms_comtoolh.jpg diff --git a/docs/hardware/zh/metasense/metasense-a010/assets/ms_comtoolt.jpg b/docs/hardware/zh/maixsense/maixsense-a010/assets/ms_comtoolt.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a010/assets/ms_comtoolt.jpg rename to docs/hardware/zh/maixsense/maixsense-a010/assets/ms_comtoolt.jpg diff --git a/docs/hardware/zh/metasense/metasense-a010/assets/ms_hand.jpg b/docs/hardware/zh/maixsense/maixsense-a010/assets/ms_hand.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a010/assets/ms_hand.jpg rename to docs/hardware/zh/maixsense/maixsense-a010/assets/ms_hand.jpg diff --git a/docs/hardware/zh/metasense/metasense-a010/assets/ms_lamp.jpg b/docs/hardware/zh/maixsense/maixsense-a010/assets/ms_lamp.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a010/assets/ms_lamp.jpg rename to docs/hardware/zh/maixsense/maixsense-a010/assets/ms_lamp.jpg diff --git a/docs/hardware/zh/metasense/metasense-a010/assets/ms_lcd.jpg b/docs/hardware/zh/maixsense/maixsense-a010/assets/ms_lcd.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a010/assets/ms_lcd.jpg rename to docs/hardware/zh/maixsense/maixsense-a010/assets/ms_lcd.jpg diff --git a/docs/hardware/zh/metasense/metasense-a010/assets/ms_mcu.jpg b/docs/hardware/zh/maixsense/maixsense-a010/assets/ms_mcu.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a010/assets/ms_mcu.jpg rename to docs/hardware/zh/maixsense/maixsense-a010/assets/ms_mcu.jpg diff --git a/docs/hardware/zh/metasense/metasense-a010/assets/ms_pin.jpg b/docs/hardware/zh/maixsense/maixsense-a010/assets/ms_pin.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a010/assets/ms_pin.jpg rename to docs/hardware/zh/maixsense/maixsense-a010/assets/ms_pin.jpg diff --git a/docs/hardware/zh/metasense/metasense-a010/assets/ms_pinb.jpg b/docs/hardware/zh/maixsense/maixsense-a010/assets/ms_pinb.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a010/assets/ms_pinb.jpg rename to docs/hardware/zh/maixsense/maixsense-a010/assets/ms_pinb.jpg diff --git a/docs/hardware/zh/metasense/metasense-a010/assets/ms_pinc.jpg b/docs/hardware/zh/maixsense/maixsense-a010/assets/ms_pinc.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a010/assets/ms_pinc.jpg rename to docs/hardware/zh/maixsense/maixsense-a010/assets/ms_pinc.jpg diff --git a/docs/hardware/zh/metasense/metasense-a010/assets/ms_ros.jpg b/docs/hardware/zh/maixsense/maixsense-a010/assets/ms_ros.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a010/assets/ms_ros.jpg rename to docs/hardware/zh/maixsense/maixsense-a010/assets/ms_ros.jpg diff --git a/docs/hardware/zh/metasense/metasense-a010/assets/ms_rqt.jpg b/docs/hardware/zh/maixsense/maixsense-a010/assets/ms_rqt.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a010/assets/ms_rqt.jpg rename to docs/hardware/zh/maixsense/maixsense-a010/assets/ms_rqt.jpg diff --git a/docs/hardware/zh/metasense/metasense-a010/assets/ms_rviz.jpg b/docs/hardware/zh/maixsense/maixsense-a010/assets/ms_rviz.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a010/assets/ms_rviz.jpg rename to docs/hardware/zh/maixsense/maixsense-a010/assets/ms_rviz.jpg diff --git a/docs/hardware/zh/metasense/metasense-a010/assets/ms_s.jpg b/docs/hardware/zh/maixsense/maixsense-a010/assets/ms_s.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a010/assets/ms_s.jpg rename to docs/hardware/zh/maixsense/maixsense-a010/assets/ms_s.jpg diff --git a/docs/hardware/zh/metasense/metasense-a010/at_command.md b/docs/hardware/zh/maixsense/maixsense-a010/at_command.md similarity index 99% rename from docs/hardware/zh/metasense/metasense-a010/at_command.md rename to docs/hardware/zh/maixsense/maixsense-a010/at_command.md index b2b4b0da..67a0bbf1 100644 --- a/docs/hardware/zh/metasense/metasense-a010/at_command.md +++ b/docs/hardware/zh/maixsense/maixsense-a010/at_command.md @@ -1,4 +1,4 @@ -# MetaSense-A010 二次开发手册 +# MaixSense-A010 二次开发手册 ## AT 指令表 diff --git a/docs/hardware/zh/metasense/metasense-a010/code.md b/docs/hardware/zh/maixsense/maixsense-a010/code.md similarity index 100% rename from docs/hardware/zh/metasense/metasense-a010/code.md rename to docs/hardware/zh/maixsense/maixsense-a010/code.md diff --git a/docs/hardware/zh/metasense/metasense-a010/metasense-a010.md b/docs/hardware/zh/maixsense/maixsense-a010/maixsense-a010.md similarity index 93% rename from docs/hardware/zh/metasense/metasense-a010/metasense-a010.md rename to docs/hardware/zh/maixsense/maixsense-a010/maixsense-a010.md index 922f9031..15f75405 100644 --- a/docs/hardware/zh/metasense/metasense-a010/metasense-a010.md +++ b/docs/hardware/zh/maixsense/maixsense-a010/maixsense-a010.md @@ -1,13 +1,13 @@ -# MetaSense-A010 +# MaixSense-A010 ## 产品概述 ![ms_small](./assets/ms_s.jpg) -MetaSense-A010 是由 Sipeed 所推出的一款由 BL702 + 炬佑 100x100 TOF 所组成的极致性价比 3D 传感器模组,最大支持 100x100 的分辨率和 8 位精度,并且自带 240×135 像素的 LCD 显示屏来实时预览 colormap 后的深度图 。 +MaixSense-A010 是由 Sipeed 所推出的一款由 BL702 + 炬佑 100x100 TOF 所组成的极致性价比 3D 传感器模组,最大支持 100x100 的分辨率和 8 位精度,并且自带 240×135 像素的 LCD 显示屏来实时预览 colormap 后的深度图 。 **资料汇总** -硬件资料:[点击查看下载](https://dl.sipeed.com/shareURL/MetaSense/MetaSense_A010) +硬件资料:[点击查看下载](https://dl.sipeed.com/shareURL/MaixSense/MaixSense_A010) ## 产品开箱指南 @@ -45,8 +45,8 @@ MetaSense-A010 是由 Sipeed 所推出的一款由 BL702 + 炬佑 100x100 TOF **COMTOOL 软件包** -Windows 系统连接:[点击查看软件包](https://dl.sipeed.com/shareURL/MetaSense/MetaSense_A010/software_pack/comtool) -Linux 系统:不提供软件包,需用户自行编译[点击跳转](https://github.com/sipeed/MetaSense-ComTool)。 +Windows 系统连接:[点击查看软件包](https://dl.sipeed.com/shareURL/MaixSense/MaixSense_A010/software_pack/comtool) +Linux 系统:不提供软件包,需用户自行编译[点击跳转](https://github.com/sipeed/MaixSense-ComTool)。 注意:Win 7 及以下系统需装驱动,可自行前往 FTDI 官网下载。 ### 上电互动预览 @@ -92,7 +92,7 @@ COMTOOL 上位机的配置控件说明 ## 案例:键盘灯跟随 实现超酷炫的键盘灯跟随,实时跟踪手部的位置,再根据手部的位置映射键盘灯。 -相关支持:[点击查看代码](https://dl.sipeed.com/shareURL/others/metasense_example) +相关支持:[点击查看代码](https://dl.sipeed.com/shareURL/others/maixsense_example) ![ma_lamp](./assets/ms_lamp.jpg) ## 案例:接入 MCU @@ -100,12 +100,12 @@ COMTOOL 上位机的配置控件说明 - k210 Bit 开发板是 sipeed Maix 中产品线的一员,基于嘉楠堪智科技的边缘智能计算芯片 K210 (RISC-V 架构 64位双核) 设计的一款 AIOT 开发板。 [点击了解 K210 Bit](https://wiki.sipeed.com/hardware/zh/maix/maixpy_develop_kit_board/maix_bit.html) -[MS-A010 外接 K210 bit 源码获取](./metasense-a010/../code.html#tof_mainpy) +[MS-A010 外接 K210 bit 源码获取](./maixsense-a010/../code.html#tof_mainpy) ![ms_mcu](./assets/ms_mcu.jpg) ## 二次开发:串口协议 -MS-A010 二次开发手册:[点击查看](http://wiki.sipeed.com/hardware/zh/metasense/metasense-a010/at_command.html) +MS-A010 二次开发手册:[点击查看](http://wiki.sipeed.com/hardware/zh/maixsense/maixsense-a010/at_command.html) 可参考上方的案例:**MS-A010 外接 K210 bit** ## 二次开发:接入 ROS @@ -117,7 +117,7 @@ MS-A010 二次开发手册:[点击查看](http://wiki.sipeed.com/hardware/zh/m **2. 安装运行** 由于我们提供的是 ROS2 的接入功能包,运行 ROS1 的话只需切换分支即可。 -接入功能包:[点击下载](https://dl.sipeed.com/shareURL/MetaSense/MetaSense_A010/software_pack/SDK) +接入功能包:[点击下载](https://dl.sipeed.com/shareURL/MaixSense/MaixSense_A010/software_pack/SDK) ```bash #解压缩sipeed_tof_ms_a010.zip,并进入目录 @@ -144,7 +144,7 @@ rosrun sipeed_tof_ms_a010 a010_publisher _device:="/dev/ttyUSB0" **2. 安装运行** 我们提供了 ROS2 的接入功能包,用户需要在运行 ROS2 的系统上编译安装。 -接入功能包:[点击下载](https://dl.sipeed.com/shareURL/MetaSense/MetaSense_A010/software_pack/SDK) +接入功能包:[点击下载](https://dl.sipeed.com/shareURL/MaixSense/MaixSense_A010/software_pack/SDK) ```bash #解压缩 sipeed_tof_ms_a010.zip,并进入目录 diff --git a/docs/hardware/zh/metasense/metasense-a075v/assets/install_drivers/finish.png b/docs/hardware/zh/maixsense/maixsense-a075v/assets/install_drivers/finish.png similarity index 100% rename from docs/hardware/zh/metasense/metasense-a075v/assets/install_drivers/finish.png rename to docs/hardware/zh/maixsense/maixsense-a075v/assets/install_drivers/finish.png diff --git a/docs/hardware/zh/metasense/metasense-a075v/assets/install_drivers/inf.png b/docs/hardware/zh/maixsense/maixsense-a075v/assets/install_drivers/inf.png similarity index 100% rename from docs/hardware/zh/metasense/metasense-a075v/assets/install_drivers/inf.png rename to docs/hardware/zh/maixsense/maixsense-a075v/assets/install_drivers/inf.png diff --git a/docs/hardware/zh/metasense/metasense-a075v/assets/install_drivers/install.png b/docs/hardware/zh/maixsense/maixsense-a075v/assets/install_drivers/install.png similarity index 100% rename from docs/hardware/zh/metasense/metasense-a075v/assets/install_drivers/install.png rename to docs/hardware/zh/maixsense/maixsense-a075v/assets/install_drivers/install.png diff --git a/docs/hardware/zh/metasense/metasense-a075v/assets/install_drivers/next.png b/docs/hardware/zh/maixsense/maixsense-a075v/assets/install_drivers/next.png similarity index 100% rename from docs/hardware/zh/metasense/metasense-a075v/assets/install_drivers/next.png rename to docs/hardware/zh/maixsense/maixsense-a075v/assets/install_drivers/next.png diff --git a/docs/hardware/zh/metasense/metasense-a075v/assets/install_drivers/path.png b/docs/hardware/zh/maixsense/maixsense-a075v/assets/install_drivers/path.png similarity index 100% rename from docs/hardware/zh/metasense/metasense-a075v/assets/install_drivers/path.png rename to docs/hardware/zh/maixsense/maixsense-a075v/assets/install_drivers/path.png diff --git a/docs/hardware/zh/metasense/metasense-a075v/assets/install_drivers/scan.png b/docs/hardware/zh/maixsense/maixsense-a075v/assets/install_drivers/scan.png similarity index 100% rename from docs/hardware/zh/metasense/metasense-a075v/assets/install_drivers/scan.png rename to docs/hardware/zh/maixsense/maixsense-a075v/assets/install_drivers/scan.png diff --git a/docs/hardware/zh/metasense/metasense-a075v/assets/install_drivers/serial.png b/docs/hardware/zh/maixsense/maixsense-a075v/assets/install_drivers/serial.png similarity index 100% rename from docs/hardware/zh/metasense/metasense-a075v/assets/install_drivers/serial.png rename to docs/hardware/zh/maixsense/maixsense-a075v/assets/install_drivers/serial.png diff --git a/docs/hardware/zh/metasense/metasense-a075v/assets/install_drivers/update.png b/docs/hardware/zh/maixsense/maixsense-a075v/assets/install_drivers/update.png similarity index 100% rename from docs/hardware/zh/metasense/metasense-a075v/assets/install_drivers/update.png rename to docs/hardware/zh/maixsense/maixsense-a075v/assets/install_drivers/update.png diff --git a/docs/hardware/zh/metasense/metasense-a075v/assets/mt_big.jpg b/docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_big.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a075v/assets/mt_big.jpg rename to docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_big.jpg diff --git a/docs/hardware/zh/metasense/metasense-a075v/assets/mt_cloud.jpg b/docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_cloud.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a075v/assets/mt_cloud.jpg rename to docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_cloud.jpg diff --git a/docs/hardware/zh/metasense/metasense-a075v/assets/mt_examle.jpg b/docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_examle.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a075v/assets/mt_examle.jpg rename to docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_examle.jpg diff --git a/docs/hardware/zh/metasense/metasense-a075v/assets/mt_examleb.jpg b/docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_examleb.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a075v/assets/mt_examleb.jpg rename to docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_examleb.jpg diff --git a/docs/hardware/zh/metasense/metasense-a075v/assets/mt_examlec.jpg b/docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_examlec.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a075v/assets/mt_examlec.jpg rename to docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_examlec.jpg diff --git a/docs/hardware/zh/metasense/metasense-a075v/assets/mt_examled.jpg b/docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_examled.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a075v/assets/mt_examled.jpg rename to docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_examled.jpg diff --git a/docs/hardware/zh/metasense/metasense-a075v/assets/mt_people.jpg b/docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_people.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a075v/assets/mt_people.jpg rename to docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_people.jpg diff --git a/docs/hardware/zh/metasense/metasense-a075v/assets/mt_pin.jpg b/docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_pin.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a075v/assets/mt_pin.jpg rename to docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_pin.jpg diff --git a/docs/hardware/zh/metasense/metasense-a075v/assets/mt_ros.jpg b/docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_ros.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a075v/assets/mt_ros.jpg rename to docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_ros.jpg diff --git a/docs/hardware/zh/metasense/metasense-a075v/assets/mt_rosb.jpg b/docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_rosb.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a075v/assets/mt_rosb.jpg rename to docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_rosb.jpg diff --git a/docs/hardware/zh/metasense/metasense-a075v/assets/mt_rosc.jpg b/docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_rosc.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a075v/assets/mt_rosc.jpg rename to docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_rosc.jpg diff --git a/docs/hardware/zh/metasense/metasense-a075v/assets/mt_rqt.jpg b/docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_rqt.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a075v/assets/mt_rqt.jpg rename to docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_rqt.jpg diff --git a/docs/hardware/zh/metasense/metasense-a075v/assets/mt_sdk.jpg b/docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_sdk.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a075v/assets/mt_sdk.jpg rename to docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_sdk.jpg diff --git a/docs/hardware/zh/metasense/metasense-a075v/assets/mt_volumbs.jpg b/docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_volumbs.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a075v/assets/mt_volumbs.jpg rename to docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_volumbs.jpg diff --git a/docs/hardware/zh/metasense/metasense-a075v/assets/mt_volume.jpg b/docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_volume.jpg similarity index 100% rename from docs/hardware/zh/metasense/metasense-a075v/assets/mt_volume.jpg rename to docs/hardware/zh/maixsense/maixsense-a075v/assets/mt_volume.jpg diff --git a/docs/hardware/zh/metasense/metasense-a075v/install_drivers.md b/docs/hardware/zh/maixsense/maixsense-a075v/install_drivers.md similarity index 100% rename from docs/hardware/zh/metasense/metasense-a075v/install_drivers.md rename to docs/hardware/zh/maixsense/maixsense-a075v/install_drivers.md diff --git a/docs/hardware/zh/metasense/metasense-a075v/metasense-a075v.md b/docs/hardware/zh/maixsense/maixsense-a075v/maixsense-a075v.md similarity index 95% rename from docs/hardware/zh/metasense/metasense-a075v/metasense-a075v.md rename to docs/hardware/zh/maixsense/maixsense-a075v/maixsense-a075v.md index abbd32d0..4b499653 100644 --- a/docs/hardware/zh/metasense/metasense-a075v/metasense-a075v.md +++ b/docs/hardware/zh/maixsense/maixsense-a075v/maixsense-a075v.md @@ -1,4 +1,4 @@ -# MetaSense-A075V +# MaixSense-A075V | 时间 | 负责人 | 更新内容 | | :-----------: | :----: | :----------: | @@ -20,7 +20,7 @@ MS-A075V 是由 Sipeed 所推出的一款具有 RGB 功能的 3D TOF 摄像机 **安装驱动**:上电前一定要确保网络环境中没有使用 192.168.233.0/24 的地址段,MS-A075V 会使用 RNDIS 并设置自己的 ip 地址为 http://192.168.233.1 Windows 系统需安装驱动才可正常运行。 - [点击下载 Windows 驱动](https://dl.sipeed.com/shareURL/MetaSense/Drivers) + [点击下载 Windows 驱动](https://dl.sipeed.com/shareURL/MaixSense/Drivers) [点击查看 Windows 安装驱动方法](./install_drivers.md) ### 网页上位机预览 @@ -89,20 +89,20 @@ Windows 系统需安装驱动才可正常运行。 ### python SDK 这是基于 `python 3` 软件开发工具包,MS-A075V 对外开发了 http 接口,我们可通过 http 请求获取到原生数据(包括深度图,ir 图,rgb 图),为了方便用户理解数据包的结构及获取还有解码的相关逻辑,因此我们提供封装了 http 请求和原生数据的解码相关函数,用户基于此可进行二次开发。 -**SDK 获取方式**:[点击下载](https://dl.sipeed.com/fileList/others/metasense_example/matasense_075_tutorial.ipynb) +**SDK 获取方式**:[点击下载](https://dl.sipeed.com/fileList/others/maixsense_example/matasense_075_tutorial.ipynb) **使用方式**:安装 jupyter 后连接 MS-A075V 打开我们提供的 `toturial.py` 即可。 ### 解包推流 理解了上述 `python SDK` 数据获取和解码的逻辑后,我们可以尝试进阶版,连续获取解码并调用第三方 `python` 图像库,例如:matplotlib 进行实时显示。而 `toturial.py` 给出了获取一帧数据的逻辑实现,通过 plt 显示并外套循环即可做到实时显示。 -**解包推流**:[点我查看 stream.py 内容](./../metasense-a010/code.html#streampy) +**解包推流**:[点我查看 stream.py 内容](./../maixsense-a010/code.html#streampy) **使用方式**:装好所有的依赖包后即可 `python stream.py` 运行。 ![mt_sdk](assets/mt_sdk.jpg) ### 检测体积 基于第三方 `python` 包,理解了上述数据获取和解码的逻辑后,再次进阶,持续显示多帧并且再通过 SDK 获取模组内参数后计算出粗略的点云,做累加得到总体积。限制:要求俯视图可以看到除底面外的所有细节。 -**检测体积**:[点我查看 calVolumes.py 内容](./../metasense-a010/code.html#calvolumespy) +**检测体积**:[点我查看 calVolumes.py 内容](./../maixsense-a010/code.html#calvolumespy) **使用方式**:装好所有的依赖包后即可 `python calVolumes.py` 运行,命令行有后续操作提示。 ![mt_volumbs](assets/mt_volumbs.jpg) @@ -115,7 +115,7 @@ Windows 系统需安装驱动才可正常运行。 **2. 安装运行** 由于我们提供的是 ROS2 的接入功能包,运行 ROS1 的话只需切换分支即可。 -[接入包下载](https://dl.sipeed.com/shareURL/MetaSense/MetaSense_A075V/software/SDK) +[接入包下载](https://dl.sipeed.com/shareURL/MaixSense/MaixSense_A075V/software/SDK) ```bash #解压缩sipeed_tof_ms_a010.zip,并进入目录 @@ -140,7 +140,7 @@ rosrun sipeed_tof_cpp publisher **2. 安装运行** 我们提供了 ROS2 的接入功能包,用户需要在运行 ROS2 的系统上编译安装。 -[接入包下载](https://dl.sipeed.com/shareURL/MetaSense/MetaSense_A075V/software/SDK) +[接入包下载](https://dl.sipeed.com/shareURL/MaixSense/MaixSense_A075V/software/SDK) ``` bash diff --git a/docs/hardware/zh/metasense/metasense-a075v/matasense_075_tutorial.ipynb b/docs/hardware/zh/maixsense/maixsense-a075v/maixsense_075_tutorial.ipynb similarity index 100% rename from docs/hardware/zh/metasense/metasense-a075v/matasense_075_tutorial.ipynb rename to docs/hardware/zh/maixsense/maixsense-a075v/maixsense_075_tutorial.ipynb diff --git a/docs/hardware/zh/metasense/readme.md b/docs/hardware/zh/maixsense/readme.md similarity index 83% rename from docs/hardware/zh/metasense/readme.md rename to docs/hardware/zh/maixsense/readme.md index c591e824..b818b037 100644 --- a/docs/hardware/zh/metasense/readme.md +++ b/docs/hardware/zh/maixsense/readme.md @@ -1,18 +1,18 @@ --- -title: MetaSense 系列 +title: MaixSense 系列 --- -## MetaSense 是什么? +## MaixSense 是什么? -MetaSense 系列产品搭载 TOF 深度摄像头,目前有 MetaSense-A010 和 MetaSense-A075V 两款产品。 +MaixSense 系列产品搭载 TOF 深度摄像头,目前有 MaixSense-A010 和 MaixSense-A075V 两款产品。 - MS-A010 是一款由 BL702 + 炬佑 100x100 TOF 模组所组成的极致性价比的 TOF 3D 传感器模组,最大支持 100x100 的分辨率和 8 位精度,并且带有 240×135 的 LCD 显示屏可实时预览 color map 后的深度图。 - 而 MS-A075V 是一款具有 RGB 功能的 3D TOF 摄像机模组,该模组可以实现 Linux 免驱的即插即用,实现实时彩色 3D 显示。 summary -购买方式:[众筹预售购买连接](https://igg.me/at/MetaSense ) +购买方式:[众筹预售购买连接](https://igg.me/at/MaixSense ) -|              |

MateSense-A010

|

MateSense-A075V

| +|              |

MaixSense-A010

|

MaixSense-A075V

| | :----------- |:----------------------------------------------- | :------------------------------------------------- | |              |![me-small](./assets/me_small.jpg)                | ![me-big](./assets/me_big.jpg)                  | | 接口         | 1.25mm 串口连接器 \*1
Type-C USB2.0 \*1       | 1.25mm 串口连接器 \*1
Type-C USB2.0 \*1         | @@ -24,14 +24,14 @@ MetaSense 系列产品搭载 TOF 深度摄像头,目前有 MetaSense-A010 和 | 测量精度     |<=1%/cm                                       | <=1%/cm                                         | -## MetaSense 能做什么? +## MaixSense 能做什么? ### 案例:远中近物体实拍 高精度的映射物品摆放距离的差异,点云图可直观感受到更真实的可视化。 - - + + ### 案例:人流统计 @@ -51,19 +51,19 @@ MetaSense 系列产品搭载 TOF 深度摄像头,目前有 MetaSense-A010 和 实现超酷炫的键盘灯跟随,实时跟踪手部的位置,再根据手部的位置映射键盘灯。 -![ms_lamp](./metasense-a010/assets/ms_lamp.jpg) +![ms_lamp](./maixsense-a010/assets/ms_lamp.jpg) ### 案例:体积测量 通过 SDK 获取到的模组内参数后,计算粗略点云并累加总体积,达到体积测量的效果。 -![mt_volume](./metasense-a075v/assets/mt_volume.jpg) +![mt_volume](./maixsense-a075v/assets/mt_volumbs.jpg) ### 案例:外接 MCU MS-A010 拥有强大的兼容性,基于串口协议的数据传输。 可外接 K210 bit 这样的单片机开发板或树莓派之类的 linux 开发板来进行二次开发。 -![ms_mcu](./metasense-a010/assets/ms_mcu.jpg) +![ms_mcu](./maixsense-a010/assets/ms_mcu.jpg) ### 案例:接入 ROS1 + ROS2 @@ -84,5 +84,5 @@ MS-A010 拥有强大的兼容性,基于串口协议的数据传输。 ## 更多 -关于 MS-010 更详细的资料获取:[点击跳转](https://wiki.sipeed.com/hardware/zh/metasense/metasense-a010/metasense-a010.html) -关于 MS-075 更详细的资料获取:[点击跳转](https://wiki.sipeed.com/hardware/zh/metasense/metasense-a075v/metasense-a075v.html) +关于 MS-010 更详细的资料获取:[点击跳转](https://wiki.sipeed.com/hardware/zh/maixsense/maixsense-a010/maixsense-a010.html) +关于 MS-075 更详细的资料获取:[点击跳转](https://wiki.sipeed.com/hardware/zh/maixsense/maixsense-a075v/maixsense-a075v.html) diff --git a/docs/hardware/zh/metasense/metasense-a010/assets/ms_cartont.jpg b/docs/hardware/zh/metasense/metasense-a010/assets/ms_cartont.jpg deleted file mode 100644 index 5947d87f766cd3bfeccf03db4a0fa2176b5dc86a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76688 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𝔈ZF*>|73)&+iYl)$d2yul&fI<=ayC|Au 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 体验 TOF 有趣玩法 @@ -105,33 +105,33 @@ - + -

一起用 MetaSense 解锁
TOF 的有趣体验吧!

+

一起用 MaixSense 解锁
TOF 的有趣体验吧!

- +
- +
- -
TOF 是“飞行时间”指是光飞行到目标物体并反射回来所经历的时间,而 MetaSense 使用 ToF 技术采集真实世界的 3D 信息 - 传送门:去看看 MetaSense 是什么? + +
TOF 是“飞行时间”指是光飞行到目标物体并反射回来所经历的时间,而 MaixSense 使用 ToF 技术采集真实世界的 3D 信息 + 传送门:去看看 MaixSense 是什么?
- +
- +
上电即用?随手伪彩点云图?接入 ROS 或 MCU 系统?人脸识别?小车避障?
你想玩的我们通通都有!新玩法还开放 SDK 及例程耶 -
传送门:让我比隔壁的卷王抢先知道新玩法? +
传送门:让我比隔壁的卷王抢先知道新玩法?
@@ -244,16 +244,16 @@ - + User Manual Get it @@ -572,22 +572,22 @@ rbtn_href: "https://wiki.sipeed.com/hardware/zh/tang/Tang-Nano/Nano.html", }, ], - "MetaSense ToF": [ + "MaixSense ToF": [ { title: "A010", - src: "https://wiki.sipeed.com/hardware/zh/metasense/metasense-a010/assets/ms_s.jpg", + src: "https://wiki.sipeed.com/hardware/zh/maixsense/maixsense-a010/assets/ms_s.jpg", lbtn_text: "btn_buy", - lbtn_href: "https://igg.me/at/MetaSense", + lbtn_href: "https://igg.me/at/MaixSense", rbtn_text: "btn_detail", - rbtn_href: "https://wiki.sipeed.com/hardware/zh/metasense/metasense-a010/metasense-a010.html", + rbtn_href: "https://wiki.sipeed.com/hardware/zh/maixsense/maixsense-a010/maixsense-a010.html", }, { title: "A075V", - src: "https://wiki.sipeed.com/hardware/zh/metasense/assets/me_big.jpg", + src: "https://wiki.sipeed.com/hardware/zh/maixsense/assets/me_big.jpg", lbtn_text: "btn_buy", - lbtn_href: "https://igg.me/at/MetaSense", + lbtn_href: "https://igg.me/at/MaixSense", rbtn_text: "btn_detail", - rbtn_href: "https://wiki.sipeed.com/hardware/zh/metasense/metasense-a075v/metasense-a075v.html", + rbtn_href: "https://wiki.sipeed.com/hardware/zh/maixsense/maixsense-a075v/maixsense-a075v.html", }, ], "MaixFace": [ @@ -991,22 +991,22 @@ rbtn_href: "https://wiki.sipeed.com/hardware/en/tang/Tang-Nano/Nano.html", }, ], - "MetaSense ToF": [ + "MaixSense ToF": [ { title: "A010", - src: "https://wiki.sipeed.com/hardware/zh/metasense/metasense-a010/assets/ms_s.jpg", + src: "https://wiki.sipeed.com/hardware/zh/maixsense/maixsense-a010/assets/ms_s.jpg", lbtn_text: "btn_buy", - lbtn_href: "https://igg.me/at/MetaSense", + lbtn_href: "https://igg.me/at/MaixSense", rbtn_text: "btn_detail", - rbtn_href: "https://wiki.sipeed.com/hardware/en/metasense/metasense-a010/metasense-a010.html", + rbtn_href: "https://wiki.sipeed.com/hardware/en/maixsense/maixsense-a010/maixsense-a010.html", }, { title: "A075V", - src: "https://wiki.sipeed.com/hardware/zh/metasense/assets/me_big.jpg", + src: "https://wiki.sipeed.com/hardware/zh/maixsense/assets/me_big.jpg", lbtn_text: "btn_buy", - lbtn_href: "https://igg.me/at/MetaSense", + lbtn_href: "https://igg.me/at/MaixSense", rbtn_text: "btn_detail", - rbtn_href: "https://wiki.sipeed.com/hardware/en/metasense/metasense-a075v/metasense-a075v.html", + rbtn_href: "https://wiki.sipeed.com/hardware/en/maixsense/maixsense-a075v/maixsense-a075v.html", }, ], "MaixFace": [ diff --git a/pages/index/en/maixsense.html b/pages/index/en/maixsense.html new file mode 100644 index 00000000..681c5d34 --- /dev/null +++ b/pages/index/en/maixsense.html @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/pages/index/en/maixsense10.md b/pages/index/en/maixsense10.md new file mode 100644 index 00000000..3f485100 --- /dev/null +++ b/pages/index/en/maixsense10.md @@ -0,0 +1,4 @@ +--- +layout: redirect +redirect_url: https://wiki.sipeed.com/hardware/en/maixsense/maixsense-a010/maixsense-a010.html +--- \ No newline at end of file diff --git a/pages/index/en/maixsense75.md b/pages/index/en/maixsense75.md new file mode 100644 index 00000000..ff460db5 --- /dev/null +++ b/pages/index/en/maixsense75.md @@ -0,0 +1,4 @@ +--- +layout: redirect +redirect_url: https://wiki.sipeed.com/hardware/en/maixsense/maixsense-a075v/maixsense-a075v.html +--- \ No newline at end of file diff --git a/pages/index/en/metasense.html b/pages/index/en/metasense.html deleted file mode 100644 index e25119be..00000000 --- a/pages/index/en/metasense.html +++ /dev/null @@ -1,11 +0,0 @@ - \ No newline at end of file diff --git a/pages/index/en/metasense10.md b/pages/index/en/metasense10.md deleted file mode 100644 index 788d10d8..00000000 --- a/pages/index/en/metasense10.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -layout: redirect -redirect_url: https://wiki.sipeed.com/hardware/en/metasense/metasense-a010/metasense-a010.html ---- \ No newline at end of file diff --git a/pages/index/en/metasense75.md b/pages/index/en/metasense75.md deleted file mode 100644 index 29734764..00000000 --- a/pages/index/en/metasense75.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -layout: redirect -redirect_url: https://wiki.sipeed.com/hardware/en/metasense/metasense-a075v/metasense-a075v.html ---- \ No newline at end of file diff --git a/pages/index/zh/maixsense.md b/pages/index/zh/maixsense.md new file mode 100644 index 00000000..1a555a57 --- /dev/null +++ b/pages/index/zh/maixsense.md @@ -0,0 +1,4 @@ +--- +layout: redirect +redirect_url: https://wiki.sipeed.com/hardware/zh/maixsense/index.html +--- \ No newline at end of file diff --git a/pages/index/zh/metasense.md b/pages/index/zh/metasense.md deleted file mode 100644 index 4ea57803..00000000 --- a/pages/index/zh/metasense.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -layout: redirect -redirect_url: https://wiki.sipeed.com/hardware/zh/metasense/index.html ---- \ No newline at end of file