Skip to content

Commit dfcdec3

Browse files
authored
Improve documentation and removed obsolete sections. (#844)
1 parent b9218f9 commit dfcdec3

File tree

8 files changed

+115
-263
lines changed

8 files changed

+115
-263
lines changed

libraries/robotics-ai-libraries/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ The Robotics AI Libraries provides reusable libraries spanning optimized math ut
66

77
| Library | Documentation | Description |
88
| ------- | ------------- | ----------- |
9-
| [FLANN optimized with oneAPI DPC++](flann) | [Link](flann/README.md) | FLANN is a 3-D processing library used to search for nearest neighbors in three-dimensional or even higher dimensional space. |
10-
| [Motion Control Gateway](motion-control-gateway) | [Link](motion-control-gateway/README.md) | Communication gateway between Real-Time Motion Control system and ROS2(Robot Operating System 2) system. |
11-
| [ORB Extractor](orb-extractor) | [Link](orb-extractor/README.md) | The ORB feature extractor comprises various computer vision (CV) kernels such as resize, Gaussian, FAST, compute descriptor, and orientation, along with non-CV functions like distribute_keypoints_via_tree. |
12-
| [PCL optimized with oneAPI DPC++](pcl) | [Link](pcl/README.md) | Point-Cloud Library (PCL) contains common algorithms for 3-D point cloud processing. |
9+
| [FLANN optimized with oneAPI DPC++](flann) | [Flann readme](flann/README.md) | FLANN is a 3-D processing library used to search for nearest neighbors in three-dimensional or even higher dimensional space. |
10+
| [Motion Control Gateway](motion-control-gateway) | [Motion control readme](motion-control-gateway/README.md) | Communication gateway between Real-Time Motion Control system and ROS2(Robot Operating System 2) system. |
11+
| [ORB Extractor](orb-extractor) | [ORB extractor readme](orb-extractor/README.md) | The ORB feature extractor comprises various computer vision (CV) kernels such as resize, Gaussian, FAST, compute descriptor, and orientation, along with non-CV functions like distribute_keypoints_via_tree. |
12+
| [PCL optimized with oneAPI DPC++](pcl) | [PCL readme](pcl/README.md) | Point-Cloud Library (PCL) contains common algorithms for 3-D point cloud processing. |

libraries/robotics-ai-libraries/flann/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ $ ./flanntest_dp ../data/data_.txt | tee /tmp/flann_test_cpu.log
3838

3939
FLANN benchmark logs computing latency in milliseconds, for various k and radius values, between Intel® oneAPI DPC++ level0 GPU and plain CPU execution.
4040

41-
```
41+
```bash
4242
[----------] 1 test from oneapi_flann_knn_performance_test
4343
[ RUN ] oneapi_flann_knn_performance_test.Positive
4444
data size is 198273
Lines changed: 63 additions & 117 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1-
YDLIDAR ROS2 PACKAGE V1.3.6
2-
=====================================================================
1+
# YDLIDAR ROS2 PACKAGE V1.3.6
2+
3+
---
34

45
ROS2 node and test application for YDLIDAR
56

67
Visit EAI Website for more details about YDLIDAR.
78

8-
9-
Changes to 3rd party source
10-
=====================================================================
9+
## Changes to 3rd party source
1110

1211
This work is based off of the open-source
1312
[YDLIDAR SDK](https://github.com/YDLIDAR/sdk.git) repository.
@@ -18,146 +17,93 @@ The following patches are provided to enhance the YDLIDAR SDK source:
1817
| -------------------- | ----------------------------- |
1918
| [patches](patches) | Wrap angle beyond 180 degrees |
2019

21-
How to build YDLIDAR ros2 package
22-
=====================================================================
23-
1) Clone this project to your ament's workspace src folder
24-
2) Running ament to build ydlidar_node and ydlidar_client
25-
3) Create the name "/dev/ydlidar" for YDLIDAR
26-
--$ cd workspace/ydlidar/startup
27-
--$ sudo chmod 777 ./*
28-
--$ sudo sh initenv.sh
20+
### How to build YDLIDAR ros2 package
21+
22+
1) Clone this project to your ament's workspace src folder
23+
2) Running ament to build ydlidar_node and ydlidar_client
24+
3) Create the name "/dev/ydlidar" for YDLIDAR
2925

30-
How to run YDLIDAR ros2 package
31-
=====================================================================
26+
```bash
27+
cd workspace/ydlidar/startup
28+
sudo chmod 777 ./*
29+
sudo sh initenv.sh
30+
```
31+
32+
### How to run YDLIDAR ros2 package
3233

3334
1. Run YDLIDAR node and view using test application
34-
------------------------------------------------------------
35-
ros2 run ydlidar ydlidar_node
3635

37-
ros2 run ydlidar ydlidar_client
36+
```bash
37+
ros2 run ydlidar ydlidar_node
38+
ros2 run ydlidar ydlidar_client
39+
```
3840

3941
You should see YDLIDAR's scan result in the console
4042

41-
2.Run YDLIDAR node and view using test application by launch
42-
------------------------------------------------------------
43-
launch $(ros2 pkg prefix ydlidar)/share/ydlidar/launch/ydlidar.py
43+
1. Run YDLIDAR node and view using test application by launch
4444

45-
ros2 run ydldiar ydlidar_client or ros2 topic echo /scan
45+
```bash
46+
launch $(ros2 pkg prefix ydlidar)/share/ydlidar/launch/ydlidar.py
47+
ros2 run ydldiar ydlidar_client or ros2 topic echo /scan
48+
```
4649

47-
Configuration
48-
=====================================================================
50+
***Configuration***
4951
path: ~/.ros2/config.ini
5052

51-
Parameters
52-
=====================================================================
53-
port (string, default: /dev/ydlidar)
54-
55-
serial port name used in your system.
56-
57-
baudrate (int, default: 230400)
58-
59-
serial port baud rate.
60-
61-
frame_id (string, default: laser_frame)
62-
63-
frame ID for the device.
64-
65-
low_exposure (singleChannel, default: false)
66-
67-
indicated whether the LIDAR is single communication(S2) lidar.
68-
69-
resolution_fixed (bool, default: true)
70-
71-
indicated whether the LIDAR has a fixed angular resolution.
72-
73-
auto_reconnect (bool, default: true)
74-
75-
indicated whether the LIDAR auto reconnection.
76-
77-
reversion (bool, default: false)
78-
79-
indicated whether the LIDAR data rotation 180°.
80-
81-
isToFLidar (bool, default: false)
82-
83-
indicated whether the LIDAR is TOF(TX8) lidar.
84-
85-
angle_min (double, default: -180)
86-
87-
Min valid angle (°) for LIDAR data.
88-
89-
angle_max (double, default: 180)
90-
91-
Max valid angle (°) for LIDAR data.
92-
93-
range_min (double, default: 0.08)
94-
95-
Min valid range (m) for LIDAR data.
96-
97-
range_max (double, default: 32.0)
98-
99-
Max valid range (m) for LIDAR data.
100-
101-
ignore_array (string, default: "")
102-
103-
Set the current angle range value to zero.
104-
105-
samp_rate (int, default: 9)
106-
107-
the LIDAR sampling frequency.
108-
109-
frequency (double, default: 10)
110-
111-
the LIDAR scanning frequency.
112-
113-
114-
115-
116-
117-
118-
119-
Upgrade Log
120-
=====================================================================
121-
122-
2019-12-23 version:1.4.4
123-
124-
1.support all standards lidar
125-
53+
***Parameters***
12654

127-
2018-07-16 version:1.3.6
55+
| Parameter | Description |
56+
|---------------------|-----------------------------------------------------------------------------|
57+
| `port` (string, default: `/dev/ydlidar`) | Serial port name used in your system. |
58+
| `baudrate` (int, default: `230400`) | Serial port baud rate. |
59+
| `frame_id` (string, default: `laser_frame`) | Frame ID for the device. |
60+
| `low_exposure` (singleChannel, default: `false`) | Indicates whether the LIDAR is single communication (S2) LIDAR. |
61+
| `resolution_fixed` (bool, default: `true`) | Indicates whether the LIDAR has a fixed angular resolution. |
62+
| `auto_reconnect` (bool, default: `true`) | Indicates whether the LIDAR auto reconnects. |
63+
| `reversion` (bool, default: `false`) | Indicates whether the LIDAR data is rotated 180°. |
64+
| `isToFLidar` (bool, default: `false`) | Indicates whether the LIDAR is a TOF (TX8) LIDAR. |
65+
| `angle_min` (double, default: `-180`) | Minimum valid angle (°) for LIDAR data. |
66+
| `angle_max` (double, default: `180`) | Maximum valid angle (°) for LIDAR data. |
67+
| `range_min` (double, default: `0.08`) | Minimum valid range (m) for LIDAR data. |
68+
| `range_max` (double, default: `32.0`) | Maximum valid range (m) for LIDAR data. |
69+
| `ignore_array` (string, default: `""`) | Set the current angle range value to zero. |
70+
| `samp_rate` (int, default: `9`) | The LIDAR sampling frequency. |
71+
| `frequency` (double, default: `10`) | The LIDAR scanning frequency. |
12872

129-
1.Update SDK verison to 1.3.9
130-
131-
2.remove imu sync.
73+
#### Upgrade Log
13274

133-
2018-07-16 version:1.3.5
75+
#### 2019-12-23 version:1.4.4
13476

135-
1.Update SDK verison to 1.3.6
77+
- support all standards lidar
13678

137-
2.add imu sync.
79+
#### 2018-07-16 version:1.3.6
13880

139-
2018-04-16 version:1.3.1
81+
- Update SDK version to 1.3.9
14082

141-
1.Update SDK verison to 1.3.1
83+
- remove imu sync.
14284

143-
2.Increase sampling frequency,scan frequency setting.
85+
#### 2018-07-16 version:1.3.5
14486

145-
3.Unified coordinate system.
87+
- Update SDK version to 1.3.6
14688

147-
4.Repair X4,S4 LIDAR cannot be opened.
89+
- add imu sync.
14890

149-
5.Increased G4 G4C F4Pro LIDAR power-off protection.
91+
#### 2018-04-16 version:1.3.1
15092

151-
6.Increased S4B LIDAR low optical power setting.
93+
- Update SDK version to 1.3.1
15294

153-
7.Fix the wait time for closing ros node.
154-
155-
8.Compensate for each laser point timestamp.
95+
- Increase sampling frequency,scan frequency setting.
15696

157-
9.Unified profile, automatic correction lidar model.
97+
- Unified coordinate system.
15898

99+
- Repair X4,S4 LIDAR cannot be opened.
159100

101+
- Increased G4 G4C F4Pro LIDAR power-off protection.
160102

103+
- Increased S4B LIDAR low optical power setting.
161104

105+
- Fix the wait time for closing ros node.
162106

107+
- Compensate for each laser point timestamp.
163108

109+
- Unified profile, automatic correction lidar model.
Lines changed: 15 additions & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -1,123 +1,22 @@
1-
# ORB Feature Extractor - applications.robotics.mobile.orb-extractor
1+
# GPU ORB Extractor Feature Overview
22

3-
Description
4-
-----------------------------------------------------------------------------
5-
The ORB feature extractor sample application demonstrates its functionality on both CPU and GPU. The ORB feature extractor is based on the OpenVSLAM version.
3+
This repository provides tutorials and usage guides for the GPU ORB Extractor Feature, supporting both OpenCV-based and OpenCV-free workflows. The GPU ORB Extractor library enables fast, thread-safe keypoint extraction for visual SLAM and computer vision applications, with support for multiple cameras and multi-threaded processing.
64

7-
https://github.com/OpenVSLAM-Community/openvslam
5+
## Features
86

9-
The ORB feature extractor comprises various computer vision (CV) kernels such as resize, Gaussian, FAST, compute descriptor, and orientation, along with non-CV functions like distribute_keypoints_via_tree.
7+
- High-performance GPU-accelerated ORB keypoint extraction
8+
- Supports both OpenCV (`cv::Mat`, `cv::KeyPoint`) and OpenCV-free data structures
9+
- Thread-safe API for multi-camera and multi-threaded use cases
10+
- Flexible configuration for single or multiple ORB extractor objects
1011

11-
All the CV-related kernels are offloaded to the Intel GPU using the oneAPI Level Zero interface, and the GPU kernels are written using C-for-Metal. Non-CV functions run on the CPU.
12+
## Quick Start
1213

13-
For more information about the oneAPI Level Zero interface, refer to the link below.
14+
Refer to the GPU ORB Extractor Feature Overview page for more details on the pre-requisites.
15+
[ORB Extractor Overview](https://docs.openedgeplatform.intel.com/edge-ai-suites/robotics-ai-suite/main/robotics/dev_guide/tutorials_amr/perception/orb-extractor/package-use.html)
1416

15-
https://spec.oneapi.io/level-zero/latest/index.html
17+
## Documentation
1618

17-
For more informaton of C-for-Metal, refer to link below.
18-
19-
https://01.org/c-for-metal-development-package
20-
21-
22-
System Requirements for building and running the sample
23-
-----------------------------------------------------------------------------
24-
25-
### Require Ubuntu 20.04
26-
Follow the link below.
27-
https://ubuntu.com/tutorials/install-ubuntu-desktop#1-overview
28-
29-
### Kernel version 5.8.0 or greater
30-
31-
#### To install latest Ubuntu linux kernel
32-
33-
```bash
34-
sudo apt-get upgrade linux-image-generic
35-
```
36-
37-
#### To install a specific kernel version (alternatively)
38-
```bash
39-
wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh
40-
```
41-
```bash
42-
chmod +x ubuntu-mainline-kernel.sh
43-
```
44-
```bash
45-
./ubuntu-mainline-kernel.sh -i <kernel version to install>
46-
```
47-
48-
### Install build tools
49-
```bash
50-
sudo apt install build-essential cmake
51-
```
52-
53-
### Install Level Zero runtime
54-
Follow the link below.
55-
https://dgpu-docs.intel.com/installation-guides/ubuntu/ubuntu-focal-legacy.html
56-
57-
### Install OpenCV 4.2
58-
The library only depends on OpenCV for some of cv types like cv::KeyPoint, cv::Mat,
59-
and function like cv::getGaussianKernel.
60-
61-
Follow the link below.
62-
https://linuxize.com/post/how-to-install-opencv-on-ubuntu-20-04/
63-
64-
### Install C for Metal Development Package
65-
```bash
66-
wget https://01.org/sites/default/files/downloads/cmsdk20211028.zip
67-
unzip cmsdk20211028.zip
68-
cd cm_sdk_20211028
69-
source setupenv.sh
70-
```
71-
72-
### Build the library
73-
```bash
74-
git clone https://github.com/open-edge-platform/edge-ai-libraries -b release-1.2.0
75-
cd edge-ai-libraries/libraries/orb-extractor
76-
mkdir build
77-
cd build
78-
cmake -DBUILD_TARGET_PLATFORM=<platform name> -DCMAKE_BUILD_TYPE=<Release/Debug> -DCMAKE_INSTALL_PATH=<path to installation folder> ../
79-
# For ex: use cmake -DBUILD_TARGET_PLATFORM=tgllp -DCMAKE_BUILD_TYPE=Release ../ to build for tigerlake
80-
# or cmake ../ to build for current platform
81-
make -j8
82-
```
83-
### Install library
84-
85-
***Note*** use sudo if installing into default location of /usr. Otherwise, not recommended.
86-
```bash
87-
sudo make install
88-
```
89-
### Build the sample
90-
```bash
91-
cd ../samples
92-
mkdir build
93-
cd build
94-
cmake ../
95-
make -j8
96-
```
97-
### Run the sample
98-
```bash
99-
./feature_extract
100-
```
101-
### Build unit tests
102-
```bash
103-
# Build the library
104-
cd ../tests
105-
mkdir build
106-
cd build
107-
cmake ../
108-
make -j8
109-
```
110-
### Run the test
111-
```bash
112-
./gaussTest
113-
./resizeTest
114-
./fastTest
115-
./orbdescTest
116-
./stereoTest
117-
```
118-
119-
### Adjusting for latency and CPU util
120-
```bash
121-
export CPU_SLEEP_TIME=<sleep duration in microseconds>
122-
```
123-
***Note*** Higher sleep value leads to higher latency & reduced CPU util and vice versa
19+
- [API Usage](https://docs.openedgeplatform.intel.com/edge-ai-suites/robotics-ai-suite/main/robotics/dev_guide/tutorials_amr/perception/orb-extractor/api-use.html)
20+
- [OpenCV-free Usage](https://docs.openedgeplatform.intel.com/edge-ai-suites/robotics-ai-suite/main/robotics/dev_guide/tutorials_amr/perception/orb-extractor/orbocvfree-use.html)
21+
- [Limitations](https://docs.openedgeplatform.intel.com/edge-ai-suites/robotics-ai-suite/main/robotics/dev_guide/tutorials_amr/perception/orb-extractor/limitation.html)
22+
For more details, see the GPU ORB Extractor [index page](https://docs.openedgeplatform.intel.com/edge-ai-suites/robotics-ai-suite/main/robotics/dev_guide/tutorials_amr/perception/orb-extractor/index.html).

libraries/robotics-ai-libraries/orb-extractor/README.md.external

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,4 +86,3 @@ Additional option
8686
### Adjusting for latency and CPU util
8787
export CPU_SLEEP_TIME=<sleep duration in microseconds>
8888
# Higher sleep value leads to higher latency & reduced CPU util and vice versa
89-

0 commit comments

Comments
 (0)