presenseradar / openradar Goto Github PK
View Code? Open in Web Editor NEWAn open source library for interacting with and processing radar data, specialized for MIMO mmWave radars
License: Apache License 2.0
An open source library for interacting with and processing radar data, specialized for MIMO mmWave radars
License: Apache License 2.0
I tried running the 1843_mmwavestudio_config.lua script on mmWaveStudio, and I was getting a
&&&&&&&&&&&&&&&&&&&&
***Script FAILED!***
&&&&&&&&&&&&&&&&&&&&
Exception message is:
invalid arguments to method call
(mmWaveStudioLogWithOrginalLuaFile.txt)
because of line 88 on 1843_mmwavestudio_config.lua
ar1.FrameConfig(START_CHIRP_TX, END_CHIRP_TX, NUM_FRAMES, CHIRP_LOOPS, PERIODICITY, 0, 1)
I changed it to
ar1.FrameConfig(START_CHIRP_TX, END_CHIRP_TX, NUM_FRAMES, CHIRP_LOOPS, PERIODICITY, 0, 0, 1)
and mmWaveStudio outputs a ***Script completed successfully.***
message (mmWaveStudioLogWithEditedLuaFile.txt).
I am working with:
Hardware: AWR1843 and DCA1000
OS: Microsoft Windows 10 Home
IDE: JetBrains PyCharm Community Edition 2019.2.4
Python: Python 3.8 (64-bit)
mmWave Studio: mmWave Studio 02.01.00.00
Does parse_tsw1400 function in Dataloader.utils support DCA1000 .bin file releasing?
If not, do you have any plan on updating the support of the DCA1000 bin file releasing?
Thanks
your code is awesome! thanks for sharing.
I'd like to ask a question about the format after splitting tx in MIMO mode.
I am trying to visualize the range_azimuth heatmap from people tracking demo. so at line 68,
radar_cube = np.concatenate((radar_cube[0::2, ...], radar_cube[1::2, ...]), axis=1)
it looks like it is trying to split tx to the virtual antenna. for the 2 tx 4 rx setup. is the format of radar_cude after splitting is [real rx1, real rx2, real rx3, real rx4, virtual rx1, virtual rx2, virtual rx3, virtual rx4]?
I'd like to figure this out so that I could use the theory in the following figure to plot range-azimuth heatmap and range-elevation heatmaps.
Thank you so much.
Hi authors, Great work for this repository - its very helpful...
One question, I have looked in your documents but I haven't found the information that I am looking for. To use your library, do I need to have the DCA1000 EVM data capture card or I can use the USB stream, just like the labs on http://dev.ti.com/tirex/explore?
Regards,
Farai
The DCA realtime capture data sizes always are 196608, which is (384,4,128) no matter how the mmwave studio was set.
code:
dca = DCA1000()
adc_data = dca.read(timeout=.1)
frame = dca.organize(adc_data, 128, 4, 128)
errors:
Traceback (most recent call last):
File "C:/Users/Administrator/PycharmProjects/OpenRadar/test_main.py", line 7, in
frame = dca.organize(adc_data, 128, 4, 128)
File "C:\Users\Administrator\PycharmProjects\OpenRadar\mmwave\dataloader\adc.py", line 280, in organize
return ret.reshape((num_chirps, num_rx, num_samples))
ValueError: cannot reshape array of size 196608 into shape (128,4,128)
Hi,In this python document ,it imported the package named ellipse_visualize and I did not find this package in demo.Lab0008.lab0008_visualize ,how did I solve it
Hi,
In radars.py the _initialize method could not find the ./1642config.cfg. Any suggestion where to find this file.
Thanks
This issue is a follow-up to #17.
Hello,
I'm wondering regarding the organize structure and following functions in the dsp file.
for one frame i am getting 360 UDP packets a 1456 Bytes, because ADC Size = Chirps x RX x Samples x IQ (2) x Byte (2) = 524288 Bytes // 1456 = 360 Packages.
So the number of TX doesnt affect the radar data cube size.
But inside e.g. realtime.py the organize function gets the chirp values for "numChirpsPerFrame = numTxAntennas * numLoopsPerFrame",
which leads to a bigger cube size with 3 TX.
Any explanations for that?
Hi PreSense Team,
Many thanks for your great job. It really helps a lot.
May I ask a technical question?
How should we evaluate the performance of the people tracking algorithm?
How should we calculate the probability of detection and false alarm rate?
Thank you in advance
I am facing a problem in loading the downloaded data file ./data/1_person_walking_128loops.bin.
Apparently, the bug is at line 79 of main.py which fails to reshape data. Not sure if the file successfully gets downloaded or not.
I used BPM mode to virtualize 12 virtual channels, but I don't know how to decode these 12 channels, do you have a corresponding demo,looking forward to your reply!
Hi,
When I was using the dsp.aoa_capon() function for angle of arrival estimation, I met the “singular matrix” problem raised by the np.linalg.inv() function. Does any body know how to solve or prevent this problem? How did the “singular matrix” problem happen? May I use dsp.aoa_bartlett() to replace dsp.aoa_capon()? Are the two beamforming functions compatible?
Hi,
Trying my luck here, I want to use OpenRadar with AWR1433 for live streaming of the ADC measurements and processing. As far as I understand, this requires some changes to the default MSS firmware that runs on the device. I believe that there are already some implementations out there that do something similar such as the one here https://github.com/moodoki/iwr_raw_rosnode which does not work properly.
Any idea how to implement this? Or some hands-on information on how to customize the MSS for this task?
Thanks
Yuval
Hi PreSenseRadar group. Thanks for your great package. I am using a DCA1000EVM together with an AWR1443Boost module. I am running the following piece of code:
numADCSamples = 128
numTxAntennas = 3
numRxAntennas = 4
numLoopsPerFrame = 128
numChirpsPerFrame = numTxAntennas * numLoopsPerFrame
dca = DCA1000()
count = 0
while True:
count += 1
adc_data = dca.read(timeout= 1)
frame = dca.organize(raw_frame=adc_data, num_chirps=numChirpsPerFrame, num_rx=numRxAntennas,
num_samples=numADCSamples)
print(count)
np.save(file = f'./test/{count}.npy', arr = frame)
As mentioned in the code, I am trying to use 3 Tx's and 4 Rx's, which I initiate for a TDM pattern by mmWave Studio. Yet after 333 counts, I ran into a timeout error as follows:
Traceback (most recent call last):
File "C:\Users\Arash\Desktop\Project\Radar Project\TI radar\test.py", line 25, in
adc_data = dca.read(timeout= 1)
File "C:\Users\Arash.conda\envs\TI\lib\site-packages\mmwave\dataloader\adc.py", line 185, in read
packet_num, byte_count, packet_data = self._read_data_packet()
File "C:\Users\Arash.conda\envs\TI\lib\site-packages\mmwave\dataloader\adc.py", line 234, in _read_data_packet
data, addr = self.data_socket.recvfrom(MAX_PACKET_SIZE)
socket.timeout: timed out
I would appreciate it if anyone can help me with this issue.
Best,
Arash
Hello, the data download link you provided seems to be invalid. Is there a new download link?
I have tried the data loader to capture data in real time, however, the number of frames received by mmwavestudio is actually quite larger than by this Python dataloader. For example, I used "1TX, 4RX, 256 ADC samples per second, 128 chirps per loop" and trigger frames for 12 seconds, the number of frames captured by mmwavestudio is actually 259 but the number of frames by Python dataloader is only 35. I also checked the excel log file (screenshot provided) which indicates that there were some packets missing when Python dataloader is used at the same time when mmwavestudio is triggering frames. If I only use mmwavestudio to capture data, then all packets are received in sequence.
I also check when we fix the number of frames to be a exact number, for example 20, everytime if mmwavestudio triggers frames together with dataloader, the mmwavestudio will be stuck.
I am not a profession in device communication, may I know whether this is caused by UDP, since there are two receivers at the same time( mmwavestudio save a bin file and adc dataloader save some frames), they are actually disturbing each other?
Looking forward to your reply!
Thank you!
In /dsp/angle_estimation.py, how to define DOPPLER_IDX_TO_SIGNED?
and the same for extendedMaxVelocityEnabled in utils.py?
I am a newbie in the radar domain, but I have a project that need use the mmwave radar to generate 3D piont cloud. so I have a problem, can the iwr1642boost generate 3D point cloud? if it support, can I use this repo get the 3D point colud? thank you very much.
Hi,
Really useful package! I got an error trying to use this function, I have pasted the error output below. I tried it with and without the num_doppler _bins variable which your docs say is optional and it came up with the same error for both.
Cheers,
Charlie
Traceback (most recent call last): File "Process.py", line 116, in <module> R,D,A=processing(F) File "Process.py", line 65, in processing Frame2=mmc.add_doppler_compensation(Frame,2) File "/home/
(path)/.local/lib/python3.8/site-packages/mmwave/dsp/compensation.py", line 79, in add_doppler_compensation azimuth_mod_coefs, bins = _generate_dft_sin_cos_table(int(num_doppler_bins)) TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'
and
Traceback (most recent call last): File "Process.py", line 115, in <module> R,D,A=processing(F) File "Process.py", line 64, in processing Frame2=mmc.add_doppler_compensation(Frame,2,16) File "/home/
(path)/.local/lib/python3.8/site-packages/mmwave/dsp/compensation.py", line 79, in add_doppler_compensation azimuth_mod_coefs, bins = _generate_dft_sin_cos_table(int(num_doppler_bins)) TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'
"from mmwave.tracking import GTRACK_visualize" in EKF_from_TLV.py is an error, i revise it to 'gtrack_visualize' ,but i found that there isn't a function named create() in it so that 'gtrack_visualize.create()' error
I'm having issues using your library with an arw1843 boost and the dca1000 especially when trying to do the doppler processing as I'm getting transposition errors. I'm wondering if you could give me a short demo code of reading and manipulating the adc data to work from.
Thanks.
An initial issue with ellipse_visualize seems fixable using:
-from demo.Lab0008.lab0008_visualize import ellipse_visualize +from demo.visualizer.visualize import ellipse_visualize
The next issues that appear are harder to solve:
Both seen in environment:
-> Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] on win32
-> Using AWR1243 and DCA1000
-> mmWaveStudio 2.0.0.2 using 'ContStream' mode
Issue 1 ------------------------------------------------------------------------------------------------
python demo\visualizer\realtime.py c:\users\meeks\percylabs\r4dartech\openradar\mmwave\dsp\doppler_processing.py:132: RuntimeWarning: divide by zero encountered in log2 fft2d_log_abs = np.log2(np.abs(fft2d_out)) Traceback (most recent call last): File "demo\visualizer\realtime.py", line 173, in cluster = clu.radar_dbscan(detObj2D_f, 0, doppler_resolution, use_elevation=True) File "c:\users\meeks\percylabs\r4dartech\openradar\mmwave\clustering\clustering.py", line 110, in radar_dbscan labels = DBSCAN(eps=1.25, min_samples=1, metric=custom_distance).fit_predict(det_obj_2d) File "C:\Users\meeks\AppData\Local\Programs\Python\Python38\lib\site-packages\sklearn\cluster_dbscan.py", line 389, in fit_predict self.fit(X, sample_weight=sample_weight) File "C:\Users\meeks\AppData\Local\Programs\Python\Python38\lib\site-packages\sklearn\cluster_dbscan.py", line 310, in fit X = check_array(X, accept_sparse='csr') File "C:\Users\meeks\AppData\Local\Programs\Python\Python38\lib\site-packages\sklearn\utils\validation.py", line 583, in check_array raise ValueError("Found array with %d sample(s) (shape=%s) while a" ValueError: Found array with 0 sample(s) (shape=(0, 7)) while a minimum of 1 is required.
Issue 2 ------------------------------------------------------------------------------------------------
python demo\visualizer\realtime.py c:\users\meeks\percylabs\r4dartech\openradar\mmwave\dsp\doppler_processing.py:132: RuntimeWarning: divide by zero encountered in log2 fft2d_log_abs = np.log2(np.abs(fft2d_out)) c:\users\meeks\percylabs\r4dartech\openradar\mmwave\dsp\angle_estimation.py:883: RuntimeWarning: invalid value encountered in sqrt y_vector = np.sqrt(1 - x_vector ** 2 - z_vector ** 2) Traceback (most recent call last): File "demo\visualizer\realtime.py", line 145, in Psi, Theta, Ranges, xyzVec = dsp.beamforming_naive_mixed_xyz(azimuthInput, detObj2D['rangeIdx'], File "c:\users\meeks\percylabs\r4dartech\openradar\mmwave\dsp\angle_estimation.py", line 939, in beamforming_naive_mixed_xyz doa_spectrum, _ = aoa_capon(np.reshape(inputSignal[:8], (8, 1)).T, steering_vec) File "c:\users\meeks\percylabs\r4dartech\openradar\mmwave\dsp\angle_estimation.py", line 237, in aoa_capon raise ValueError("'steering_vector' with shape (%d,%d) cannot matrix multiply 'input_data' with shape (%d,%d)" \ ValueError: 'steering_vector' with shape (181,8) cannot matrix multiply 'input_data' with shape (1,8)
Hey! I'm running into an issue with in adc.py.
I Setup the DCA1000EVM and AWR2243BOOST through mmWave Studio and trigger a frame. Everything works & i receive adc data. But the Byte count doesnt match the BYTES_IN_FRAME_CLIPPED, which results in the loop not breaking and finally ending in a timeout.
With "print(byte_count)" i get values to about 29 million, whereas the BYTES_IN_FRAME_CLIPPED is about 6.290.606
The code then just runs into timeout:
I'm thankful for any help!
I set up adc.py parameters to match my mmWaveStudio configuration as follows:
ADC_PARAMS = {'chirps': 128, # 32
'rx': 4,
'tx': 1,
'samples': 256,
'IQ': 2,
'bytes': 4}
and I used the following code to read the data:
from mmwave.dataloader import DCA1000
dca = DCA1000()
adc_data = dca.read()
frame = dca.organize(adc_data, 128, 4, 2*256)
Firstly, dca.organize gives a list dimension error unless I multiply the number of samples by 2 as shown above. Why does it need to be multiplied?
Secondly, when I trigger a capture in the SensorConfig tab of mmWaveStudio (it triggers a read of 8 frames of data and then stops) and run the python, I get a timeout error. However, using a continuous stream (in the ContStream tab), I can successfully read data. Does openradar require a continuous read or is there a way to get it to detect or trigger a single capture with mmWaveStudio and the AWR1243?
Hi Gents,
I have a bit confusion about angle estimation. Beamforming is used for improving resolution or accuracy? As far as I understand from the theory, the resolution is limitted by physical antenna design and is typically very bad for small antenna designs. I noticed that in part of the code there is angle_resolution of 1 deg, which according to my understanding is too good to be true.
Essentially, can you please help to clarify, is the following statement correct or wrong?
Beamforming is used to increase the accuracy of angle estimation while having nothing to do with the actual resolution of the estimation.
Thanks!
Thanks for the opensource library!
I am using AWR1642 ods, which has 2tx and 4rx. In angle_estimation.naive_xyz, it says "need a config for more than 2 TXs".
I'd like to know does the visualizing programs are built specifically for 3tx radar?
Thanks
When I start framing with mmwave studio and this module, the recorded openradar .bin file is only half of the size of the mmwave file. 50% of ADC samples are missing. Is there a solution for this problem? The data do not look good with the missing samples. Thanks in advance!
Hi this looks great. I was wondering if anyone could let me know how you would go about using it in ubuntu
Charlie
From a clean setup, installing requests, and running download_data.py, the main demo fails as such:
python people_tracking.py
Traceback (most recent call last):
File "people_tracking.py", line 72, in
range_azimuth[:,i], beamWeights[:,i] = dsp.aoa_capon(steering_vec, radar_cube[:, :, i].T)
File "c:\users\meeks\percylabs\r4dartech\openradar\mmwave\dsp\angle_estimation.py", line 237, in aoa_capon
raise ValueError("'steering_vector' with shape (%d,%d) cannot matrix multiply 'input_data' with shape (%d,%d)"
ValueError: 'steering_vector' with shape (8,128) cannot matrix multiply 'input_data' with shape (181,8)
Python version:
Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] on win32
firstly, thanks for your team's awesome work !
i wonder if it works on pi
First, thank you guys for this amazing project.
I am trying to use radar on linux. However, it seems that we need mmwave studio in order to use OpenRadar. Since TI only have mmwave studio for windows, so currently we cannot use OpenRadar on linux. Is this correct?
Hi is there a video or some photos of the person walking scenario. Appreciate it if it can be shared.
I repeatedly get a socket.timeout: timeout when I try to run the following python script using the OpenRadar repository.
import csv
from datetime import datetime
import matplotlib.pyplot as plt
import numpy as np
from numpy import savetxt
import mmwave as mm
from mmwave.dataloader import DCA1000
START_CHIRP_TX = 0
END_CHIRP_TX = 2
CHIRP_LOOPS = 128
NUM_CHIRPS_PER_FRAME = (END_CHIRP_TX - START_CHIRP_TX + 1) * CHIRP_LOOPS
NUM_RX = 4
NUM_ADC_SAMPLES = 128
print('start')
dca = DCA1000()
i = 0
while True:
i = i + 1
adc_data = dca.read()
frame3d = dca.organize(adc_data, NUM_CHIRPS_PER_FRAME, NUM_RX, NUM_ADC_SAMPLES)
frame2d = frame3d[:,1,:]
frame2dFt1d = mm.dsp.range_processing(frame2d)
phase = np.angle(frame2dFt1d)
plt.imshow(abs(frame2dFt1d), cmap='viridis')
plt.colorbar()
plt.pause(0.05)
plt.clf()
radar_cube = mm.dsp.range_processing(adc_data)
datetime_object = datetime.now()
print(datetime.now(), "Done frame", i)
Hello. Thanks for your great work on this package. I am having difficulty reading in the data from an AWR1243 connected to the DCA1000. I configure everything in mmWave Studio and start the stream, but the data I get back from the dca.read() method is not close to what I read from the raw data file and when looking at the 2-D range, cross-range heatmap (for me, I'm using an omega-k algorithm), it is completely wrong. Am I missing something? Or perhaps, I need to change the code to support the AWR1243?
In this implementation, does the data capture using DCA1000 module require mmwave studion for capturing? Or is it possible to configure the radar module (say 1843) using a python script and then run
dca = DCA1000() adc_data = dca.read()
to capture the raw data?
I'm studying tracking method based on your code. so thank you.
I have several questions.
In function 'gtrack_unrollRadialVelocity',
def gtrack_unrollRadialVelocity(rvMax, rvExp, rvIn):
distance = np.float32(rvExp - rvIn)
if distance >= 0:
factor = int((distance + rvMax) / (2 * rvMax))
rvOut = np.float32(rvIn + 2 * rvMax * factor)
else:
factor = int((rvMax - distance) / (2 * rvMax))
rvOut = np.float32(rvIn - 2 * rvMax * factor)
return rvOut
In the file mmwave/dataloader/adc.py at the start, you define the length of the frame as including num_rx * num_tx ie the number of virtual antennas. But later in the file ( in @staticmethod) when you split the data into the data cube you only use the 4 rx channels. I was wondering if there should be (rx*tx) rows in the data cube, and if not what happens to the data you collect for the virtual antennas?
Hello,
As the title states, no matter what settings I apply through mmWave Studio (either manually or with the Lua script), I can't seem to get the right output dimensions from DCA1000.read(). Has anyone else encountered this issue?
There was another issue which mentioned this exact problem, but it was closed with no stated resolution.
Thank you in advance for your help.
Hi, first of all thank you for this open source package, it's very helpful! I just have one question when I try to write a function to generate point cloud from IWR1443BOOST raw ADC data, only 2 of the transmitting antennas on the azimuth (horizontal) axis are used and receiving antennas are 4. I think the demo/visualizer/main.py
gives a good enough example to generate point cloud, but I can't understand the following steps inside beamforming_naive_mixed_xyz()
which is invoked after aoa_bartlett()
and peak_search_full_variance()
:
higher_rung = inputSignal[8:12]
lower_rung = inputSignal[2:6]
for j in range(num_out):
ele_out = aoa_estimation_bf_one_point(4, higher_rung, steering_vec[max_theta[j]])
azi_out = aoa_estimation_bf_one_point(4, lower_rung, steering_vec[max_theta[j]])
num = azi_out * np.conj(ele_out)
wz = np.arctan2(num.imag, num.real) / np.pi
temp_angle = -est_range + max_theta[j] * est_resolution # Converts to degrees, centered at boresight (0 degrees)
# Make sure the temp angle generated is within bounds
if np.abs(temp_angle) <= est_range and estimated_variance[j] < doa_var_thr:
e_angle = np.arcsin(wz)
a_angle = -1 * (np.pi / 180) * temp_angle # Degrees to radians
output_e_angles.append((180 / np.pi) * e_angle) # Convert radians to degrees
output_a_angles.append((180 / np.pi) * np.arcsin(np.sin(a_angle) * np.cos(e_angle)))
output_ranges.append(input_ranges[i])
Can someone tell me the process of these steps and what are higher_rung
and lower_rung
used for? In my case to get azimuth angle, shall I ignore those steps and directly take the result from peak_search_full_variance()
after aoa_bartlett()
as azimuth angle estimation? Many thanks in advance!
Hey OpenRadar team, thank you for this package and it works well with the 1xxx series boards with the DCA1000 capture card.
I would like to know if this package is being maintained anymore. If so, do you have any plans to add support for TDA 2xx capture card that comes with AWR22xx cascade radars.
Thanks,
Saketh
Python=3.6 && opencv-python=4.7.0.72
It will raise error "cv2.error: OpenCV(4.7.0) /tmp/pip-install-nzi856ln/opencv-python_f33732a96f0e44e08ea9072d768bb35d/opencv/modules/highgui/src/window.cpp:1272: error: (-2:Unspecified error) The function is not implemented."
I reinstall opencv-python=4.4.0.46, then the error dose not occur. So I recommend limiting the version of the opencv-python in requirements.txt.
Hi ,
I have been using your Bartlett Beamforming function to extract range and azimuth information from a datacube collected from a DCA1000evm with a 1642BOOST but I have received a strange output where every other range bin is 0. If I remove these range bins I get an image that looks better, but for some reason, the 'hot' patches in the heatmap don't really line up from bin to bin. Any idea why this might have happened? (It is consitent for hundreds of frames)
I have attached images of the heatmaps below
This one is the direct output- every other range bin is 0.
This one has had every other range bin removed, but the areas where the radar ahs detected an object don't line up.
@arvindsr7 Thanks a lot! I am actually much more in search of signatures like these ones (see below). Hmm, but there are no signals on the positive velocity axis. Or what did you exactly mean by keeping the positive velocity axis? Can you explain further, please?
Executing mmWave through Python and Lua
I run a command in Python that executes mmWave together with my settings (lua script) and then I am able to receive and process sensor data via Python.
import subprocess, time
subprocess.Popen(r'C:\User\src\Config_Files\Run_mmWaveStudio.cmd',
cwd=r'C:\ti\mmwave_studio_02_00_00_02\mmWaveStudio\RunTime')
time.sleep(55) #Wait until mmwave is completely executed
dca = DCA1000()
adc_data = dca.read()
while True:
..........
Command for executing mmWave with settings through the shell:
cmd /C "mmWaveStudio.exe /lua C:\User\src\Config_Files\1443_mmwavestudio_config.lua"
Create a new text file and insert this command into it. Save it and change the extension to .cmd. Than put this file in the directory 'ti\mmwave_studio_02_00_00_02\mmWaveStudio\RunTime'
. Now you can run it with python (see code above) and capture data. Remember to adjust the paths!
Hope this helps you.
Originally posted by @bayramf in #17 (comment)
@arvindsr7 Thanks a lot! I am actually much more in search of signatures like these ones (see below). Hmm, but there are no signals on the positive velocity axis. Or what did you exactly mean by keeping the positive velocity axis? Can you explain further, please?
Executing mmWave through Python and Lua
I run a command in Python that executes mmWave together with my settings (lua script) and then I am able to receive and process sensor data via Python.
import subprocess, time
subprocess.Popen(r'C:\User\src\Config_Files\Run_mmWaveStudio.cmd',
cwd=r'C:\ti\mmwave_studio_02_00_00_02\mmWaveStudio\RunTime')
time.sleep(55) #Wait until mmwave is completely executed
dca = DCA1000()
adc_data = dca.read()
while True:
..........
Command for executing mmWave with settings through the shell:
cmd /C "mmWaveStudio.exe /lua C:\User\src\Config_Files\1443_mmwavestudio_config.lua"
Create a new text file and insert this command into it. Save it and change the extension to .cmd. Than put this file in the directory 'ti\mmwave_studio_02_00_00_02\mmWaveStudio\RunTime'
. Now you can run it with python (see code above) and capture data. Remember to adjust the paths!
Hope this helps you.
Originally posted by @bayramf in #17 (comment)
when I run 'python setup.py develop' the worng message as fllow was show
(visualization) D:\研究生资料\情感计算\雷达\OpenRadar>python setup.py
D:\anaconda3.8\anaconda\envs\visualization\lib\site-packages\setuptools_init_.py:85: DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. Requirements should be satisfied by a P
EP 517 installer. If you are using pip, you can try pip install --use-pep517
.
dist.fetch_build_eggs(dist.setup_requires)
Traceback (most recent call last):
File "setup.py", line 28, in
setup_requires=['setuptools_scm'],
File "D:\anaconda3.8\anaconda\envs\visualization\lib\site-packages\setuptools_init.py", line 108, in setup
return distutils.core.setup(**attrs)
File "D:\anaconda3.8\anaconda\envs\visualization\lib\site-packages\setuptools_distutils\core.py", line 147, in setup
_setup_distribution = dist = klass(attrs)
File "D:\anaconda3.8\anaconda\envs\visualization\lib\site-packages\setuptools\dist.py", line 492, in init
for k, v in attrs.items()
File "D:\anaconda3.8\anaconda\envs\visualization\lib\site-packages\setuptools_distutils\dist.py", line 283, in init
self.finalize_options()
File "D:\anaconda3.8\anaconda\envs\visualization\lib\site-packages\setuptools\dist.py", line 912, in finalize_options
ep(self)
File "D:\anaconda3.8\anaconda\envs\visualization\lib\site-packages\setuptools\dist.py", line 932, in _finalize_setup_keywords
ep.load()(self, ep.name, value)
File "d:\研究生资料\情感计算\雷达\openradar.eggs\setuptools_scm-7.1.0-py3.7.egg\setuptools_scm\integration.py", line 91, in version_keyword
_assign_version(dist, config)
File "d:\研究生资料\情感计算\雷达\openradar.eggs\setuptools_scm-7.1.0-py3.7.egg\setuptools_scm\integration.py", line 63, in _assign_version
version_missing(config)
File "d:\研究生资料\情感计算\雷达\openradar.eggs\setuptools_scm-7.1.0-py3.7.egg\setuptools_scm_init.py", line 109, in _version_missing
f"setuptools-scm was unable to detect version for {config.absolute_root}.\n\n"
LookupError: setuptools-scm was unable to detect version for D:\研究生资料\情感计算\雷达\OpenRadar.
Make sure you're either building from a fully intact git repository or PyPI tarballs. Most other sources (such as GitHub's tarballs, a git checkout without the .git folder) don't contain the necessary metada
ta and will not work.
For example, if you're using pip, instead of https://github.com/user/proj/archive/master.zip use git+https://github.com/user/proj.git#egg=proj
How can I solve my problem?
The address of https://github.com/user/proj/archive/master.zip and git+https://github.com/user/proj.git#egg=proj is inavaliable
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.