Slamtec RPLidar support - 2023-05-19 10:58

@r3nder I’m not sure if this GitHub repo supports the C1, but it’s worth looking into; GitHub - thepelkus-too/SlamtecLidarTDCPPCHOP: A CPP CHOP for TouchDesigner for gathering data from a Slamtec RPLidar scanner

Lake Heckaman discusses implementing it in this video; https://youtu.be/fAvF2niosNA?si=mwpqy77TNrvT2H4C

Thanks, Brad. I already tried that, but unfortunately, it didn’t work. I’m currently using the Framegrabber with TUIO from the Slamtec SDK.

@Vasily Thanks so much for putting this together. I’ve got one S2 USB model working nicely inside TD.

Does anyone have any experience or info on whether you can connect multiple units to the same machine? If you can, are there any benefits to using network or USB units when having multiple connected?

There are no limits to the number of lidars you can use. I would prefer the network version as it simplifies setup and should be more stable over long distances. Serial communication over long cables can fail because the signal is very weak. Or you would need an expensive extension cord. While network one doesn’t carry about the length of the cables. Also, you do not have limit of your motherboard USB bus bandwidth. Just plug all the lidars into a router and connect it to the computer. I used a maximum of 8 lidars for a project on one machine now.

1 Like

Has anyone had any luck compiling this on Apple Silicon? I don’t know my way around VSCode (or C++ programming in general) and keep getting errors when trying to build the solution.

Thank you for this great discussion. I was searching for an opportunity receive data with my RP-Lidar S2M1 throught ethernet.

Unfortunately I tried out through Robostudio and the USR-M0 software with the Ethernet adapter but can not find any device on the network. Is there any special steps I have to follow or I am missing?
When connecting through serial connection with com in robostudio I can see the sensor and also a button that pretends to give me the opportunity to change the Ip adress of the device but it also fails and tells me that ip can not be configured.

Thank you very much for any help :slight_smile:

I am also trying to use the ethernet module with an A3M1 with no luck getting data into TD. Using the USR software I can communicate fine with the Lidar, can ping and change IPs and all that fine, but I when activating the plugin, the Lidar won’t start spinning and I get a message in the info DAT that RPLidar is busy. I am using V3 of the plugin. Serial connection works totally fine. I am about to just buy USB extenders.

Try this one to change the IP address and port for the lidar [Setup Software]USR-M0 V2.2.3.286.exe-PUSR IOT. It should see the lidar even if it is in a different network. If you still do not see, try to turn off antivirus and defender to be sure your machine is accessible from the network. Also can try to run IP scanner software to see if there any device.

@Veasily Using Touch Engine can keep the plugin on with saving project!
( tested on S2E and A1 )


Hello, I wanted to use this project. I’m using the Rplidar S2, but when I connect using the 1,000,000 baud rate and the corresponding com, it never connects and gives me this error. Testing it with the Rplidar SDK, it works perfectly. Could you please tell me how to solve this problem?

@vasily Thanks for making this great plugin! The plugin is working well for me with the A1M8 RPLiDAR.

The only issue is that Touch Designer always crashes when I try to open a project with the C++ CHOP that is referencing the .dll file. Any way to address this?

@rishabhrajan hi! This could happen when the DLL starts loading with TouchDesigner, but the sensor is not connected, or it has some issues. What I usually do is run a simple script that deactivates and unloads the plugin on the TouchDesigner project save [executeDAT - Project Pre Save]. And on project start [Start], I load the DLL and activate it with a few-second delay, which gives time for the project to load and initialize. I do it for every sensor or hardware I use with the TD, not only Lidars. It allows me to be in charge of the initialisation order and test sensors on start without crashing the project and installation, as I can catch all potential errors of sensors and external tools.

I was aware of the crash on load. This video here explains the process of scripting the start delay https://youtu.be/lpPmOXFPlkA?feature=shared&t=201.
I followed it and it would still crash.

She does not unload the DLL. I would unload DLL too on save (unload plugin) in CPlusPlusCHOP ‘load’ page.
Unload plugin
Also, I use CPlusPlusCHOP, rather than a custom plugin, as it gives me more control over initialization and order.

Thanks for your response!
I’ll try setting up the unload option.
Not sure what you mean by custom plugin. I believe she is also using CPlusPlusCHOP.

I see sometimes people use it as a custom plugin (if you put DLL in the TD custom plugin folder, it would show up as a custom CHOP, not as cplusplus one)

ALso I see someone above mentioned to use TouchEngine, you can give a try with it too.

Did you managed to make this worked?

I managed to make it work but honestly it’s way too buggy and unpredictable. There were many times that the lidar was just not even being detected. I changed nothing in my setup and sometimes it works, while sometimes it doesn’t. For me it’s not useable for a live performance scenario so I scrapped it. Maybe for a more controlled studio setup and filming, it might be easier to work with.

Man i hope they have a dedicated CHOP like the Hokuyo for this one too, many like you have stability issue. Did u still stick with touch designer for your live performance or did u switch to another program that work with this lidar?

Hello could you elaborate more on how you were using TUIO, because i also couldn’t make C1 connect to touchdesigner