The keyword for today's episode is "SIMPLE" (mentioned 40+ times😉) . This simplicity is why we watch your videos, even I can understand almost everything!
You thought those points were going to move to another dimension then? lololol This is a cheap 2D LED-based LIDAR system. It only generates points in 2 dimensions. lolol
Looking forward to seeing your ROS experience! My experience was while studying, and rushing to get a project working. I didnt really have time to deep-dive into it all, and had no chance to try out the navigation capabilities, also didnt get to keep any hardware. The newest ROS version should be easier to use, too.
For communicating between boards I'd actually recommend using a serial line. Even the lowend microcontrollers can buffer quite a bit of serial input without interrupting your program or even the CPU, the higher end ones (like the ESP32 or RPI Pico and similar) don't even notice. And you can use your PC for debugging more easily.
In arduino you can implement a serial line by using the SoftwareSerial library, is this what you mean? I'm a beginner trying to learn about communications between boards
@@davenarisotto3674 You can use that, but using softwareserial you may block the CPU from doing anything else. It's preferable to use hardware serial ports. Many boards have at least one pin for hardware serial, some have more than one or can configure other pins to be that.
Ooo proszę, gdybym nie wczytał się w komentarze, to bym nie wiedział 😅 Gratki 😊 ja zaczynam właśnie zabawę z podobnym projektem dla zabawy i dla mojego 3latka, bo nasz odkurzacz - Roborock7 śni mu się po nocach i pierwsze co robi po przebudzeniu to pyta się, czy odkurzacz śpi 😂 ❤
A suggestion for you: python is great for cleaning out data and i think it would be fairly simple to implement a short algorithm to delete excess points
If you planned routing, or autonomous routing of the robot, take a look at point cloud based localisation and point cloud merging. It should eliminate the "noisiness" of the data and your planning algorithms will be much more effective. At my uni there is a team which uses drones mounted with NUCs to execute autonomous missions.
An approach I prefer for using wifi for things like this is to set up the robot as the server, that way it isn’t tied to a specific device or IP address. It means that any device on the network can connect to the robot and if your router dynamically assigns IP addresses you can just do a port scan on your PC or have a small screen on the robot and find its IP address and connect to it that way. The way you have it set up means you can only use it with whatever has that IP address, which currently is your PC, so any phones, laptops, pis, etc, couldn’t connect, and to connect them you would have to edit the code and re upload it, the same thing happens if your computer changes IP address, to connect you would have to edit and reupload the program.
you could get an more solid map if you extend the point in tangent one pixel left/right. Then the map would be also more visible and could show if there messure errors.
A Neato Robotics vacuum uses a LIDAR module similar to the ones you used. It has a micro USB port. I'd love for you to hack it and see what's going on...
Its, pretty good as it is, but you can make good solid lines using a simple linear regression algo, this will minimize the noise and will look better too
What if you store the dots as they come, then before each new reading, estimate approximately how much the robot should've moved and rotated based on the wheel movements and apply that transformation to the stored dots, and then as new readings come, you try to make the new reading match the previous readings as closely as possible by shifting and rotating them, to improve the results you got from the dead reckoning; and if some of the new dots are close enough to an already existing dot (bellow the margin of error of the dead reckoning I guess would be a good threshold), then for each of those, you move the closest point by a small fraction towards the new reading to try to refine the coordinates over time, discarding any new dots which having been used to refine previous readings?
Python is too slow for any real-time mapping. There's SO much more to this if you're doing anything besides schoolboy projects. Dead reckoning only helps when you know your point of origin with some precision. This job requires far more math and faster tools than most people have access to. Quaternions and such.
I use real time mapping. Works fine for me. The idea above about tracking points and estimating….good idea but…the data is so noisy. Will like be very inaccurate.
Wspaniały projekt, Nikodemie. Możesz go bardzo rozwiać, dodając kamerę, rozpoznawanie przedmiotów, mały chwytak do złapania rzeczy, neural network do wykonywania pewnych zadań, rozpoznawanie głosu, możliwość mówienia, ledy, możesz drugi, trzeci zbudować i spróbować swarm robotics itd. Uczę się od roku tych tematów na własną rękę. ROS już trochę znam i tam mają bardzo dobre parkiety/moduły do nawigacji (SLAM). Musisz do tego napisać plik URDF do twojego robota, abyś mógł mógł z Gazebo korzystać. Gratulacje za ślęczenie się nad skanerem Lidar. Ja sam bym chciał kupić taki za 100 zł na Olx po robocie sprzątającym, ale jeszcze nie umiem napisać biblioteki do niego jeszcze tego nie robiłem. Czy ten twój kod pasuje do innych takich czujników Lidar? Pozdrawiam serdecznie.
I'm way out of my depth here, but have you considered fuzzy logic for navigation? It's computationally light, but able to deliver subtle decision trees.
I’m a bit concerned about your comment about the grounds of the microcontrollers and motors. Batteries are essentially floating sources, they can be at different voltages relative to each other, so 5 V on one source might be a different voltage in reference to the other source, higher or lower and can cause damage or communication issues. You should be using a H-bridge to drive the motors and the ground of the microcontrollers should be connected to the ground of the H-bridge chip. Generally a lot of signals are referenced to ground, if a signal is referenced to ground and is transmitted between devices with separate power sources, if ground isn’t the same (connected) then it can cause a lot of issues. There are a few ways around the issues without connecting the grounds. The first is to use optocouplers and the second is to use a differential and isolated communications method, so it relies on the voltage between the differential pair and not the voltage in reference to ground. Neither of those options would be required for your robot. If you wanted to be extra safe, even though it isn’t needed, then you could connect the grounds together through a resistor.
Please make a video of that circle shape robot that you mentioned in this video. How you build and designed it. I cant find any video about it in your channel
Hey, great video I’m trying to build my own robot for my university’s final project and i just need to know can i connect the LIDAR to esp32 and send the data via wifi to computer and also control the wheels with the esp32?
If you want programming in emebed. Not relevant what you will use. In fact python is easy to learn, but it is interpreted.In consequent is just slow, so is useless for embeded electronics, because there are cheap microchips.Max one, two thread with low frequency eg. 130mhz.
If you would like to program microcontrollers in Python then there are no that many options as for now (Raspberry Pi Pico and some boards from Seed Studio and Adafruit as far as I know). MicroPython and Python is very similar so you just build few projects on you computer. Find something you want to build, and learn everything you need to build it by building it. Once your project is ready move onto the next one!
Rozumiem, że takie projekty kosztują i dobrze jest mieć sponsora, ale VPN nie ma nic wspólnego z bezpieczeństwem. Jedyne sensowne zastosowanie VPNa to omijanie blokad regionalnych oraz banów na różnych portalach, ewentualnie omijanie copyright-trollów, jeśli ściąga się coś z torrentów. Prywatność i bezpieczeństwo nie jest w żaden sposób poprawione korzystając z VPN.
Hello! I am a college student. I was looking for a self-driving delivery robot for the school competition! I heard that the stm32duino board has good performance, so I want to use the Lidar sensor with the video through this board, can you tell me if it's possible, please?? 😂
Hejka, jak ten robot już raz zmapuję obszar, po którym się porusza to czy przy kolejnym przejeździe tej samej trasy korzysta z mapy, którą wcześniej zrobił czy od nowa musi skanować cały obszar po przez który jedzie?
hello , if I want to measure the density of traffic on a road, what kind of system can I install? i want something low cost and functional. it should be a system that can transmit this density to another device and show the density. i would be very grateful if you help me. lidar sensor is used? which one do you think is advantageous?
I think no sensors would work here. You need a camera and a CNN (Convolutional Neural Network) to recognize traffic, and an algorithm to calculate traffic density.
@@foobarmaximus3506 I watched this video again, and I can say that you are right. There is no real "mapping" here, Lidar is used only for displaying current scans and simple movement controlling. But they are still executed at the PC. If I'm not mistaken, Arduino is not processing Lidar data at all.
Excuse me, I from Thailand. I need to your help. I see your video in your channel on TH-cam about Lidra Robot. Please give me about your Arduino's port connection with various ports.
Get your own ORP chassis kit and support the project: indystry.cc/product/orp-robotics-chassis/
Happy making!
You dont need to build the best most impressive thing, build a small part of a big tech advancement. Super useful
The keyword for today's episode is "SIMPLE" (mentioned 40+ times😉) . This simplicity is why we watch your videos, even I can understand almost everything!
KISS, Keep it simple stupid
I'm impressed you were able to keep the points in the same "space" when the robot moves
I would have liked to hear more about the SLAM implementation that he used, but the video is pretty cool.
You thought those points were going to move to another dimension then? lololol This is a cheap 2D LED-based LIDAR system. It only generates points in 2 dimensions. lolol
Looking forward to seeing your ROS experience! My experience was while studying, and rushing to get a project working. I didnt really have time to deep-dive into it all, and had no chance to try out the navigation capabilities, also didnt get to keep any hardware. The newest ROS version should be easier to use, too.
Hi. Did you have any recommendation for me to learn ROS from basic?
For communicating between boards I'd actually recommend using a serial line. Even the lowend microcontrollers can buffer quite a bit of serial input without interrupting your program or even the CPU, the higher end ones (like the ESP32 or RPI Pico and similar) don't even notice. And you can use your PC for debugging more easily.
In arduino you can implement a serial line by using the SoftwareSerial library, is this what you mean? I'm a beginner trying to learn about communications between boards
@@davenarisotto3674 You can use that, but using softwareserial you may block the CPU from doing anything else. It's preferable to use hardware serial ports. Many boards have at least one pin for hardware serial, some have more than one or can configure other pins to be that.
Great progress! Nice to see you developing your own algorithm! Good luck with ROS 🙌
Serce rośnie widząc rodaków wśród tego typu kanałów 😊 pozdro!
Dzięki!
Ooo proszę, gdybym nie wczytał się w komentarze, to bym nie wiedział 😅 Gratki 😊 ja zaczynam właśnie zabawę z podobnym projektem dla zabawy i dla mojego 3latka, bo nasz odkurzacz - Roborock7 śni mu się po nocach i pierwsze co robi po przebudzeniu to pyta się, czy odkurzacz śpi 😂 ❤
A suggestion for you: python is great for cleaning out data and i think it would be fairly simple to implement a short algorithm to delete excess points
If you planned routing, or autonomous routing of the robot, take a look at point cloud based localisation and point cloud merging. It should eliminate the "noisiness" of the data and your planning algorithms will be much more effective. At my uni there is a team which uses drones mounted with NUCs to execute autonomous missions.
I am dying to know what NUCs stands for
@@victorzaak next unit of computing. Its just a tiny pc
An approach I prefer for using wifi for things like this is to set up the robot as the server, that way it isn’t tied to a specific device or IP address. It means that any device on the network can connect to the robot and if your router dynamically assigns IP addresses you can just do a port scan on your PC or have a small screen on the robot and find its IP address and connect to it that way. The way you have it set up means you can only use it with whatever has that IP address, which currently is your PC, so any phones, laptops, pis, etc, couldn’t connect, and to connect them you would have to edit the code and re upload it, the same thing happens if your computer changes IP address, to connect you would have to edit and reupload the program.
you could get an more solid map if you extend the point in tangent one pixel left/right.
Then the map would be also more visible and could show if there messure errors.
LOL Yeah. You figured it out completely! lol Thanks Bro!
@@foobarmaximus3506 ironical?
I wouldn't be surprised if you said at 0:52 you learned Chinese for this. Very good work man!
Haha, thanks!
Cool idea. I would use UDP instead of HTTP over TCP. It is more appropriate for real time work.
My dog DID NOT like the sound of those voltage monitors beeping. I however thought everything was awesome. 👍👍
A Neato Robotics vacuum uses a LIDAR module similar to the ones you used. It has a micro USB port. I'd love for you to hack it and see what's going on...
Its, pretty good as it is, but you can make good solid lines using a simple linear regression algo, this will minimize the noise and will look better too
What if you store the dots as they come, then before each new reading, estimate approximately how much the robot should've moved and rotated based on the wheel movements and apply that transformation to the stored dots, and then as new readings come, you try to make the new reading match the previous readings as closely as possible by shifting and rotating them, to improve the results you got from the dead reckoning; and if some of the new dots are close enough to an already existing dot (bellow the margin of error of the dead reckoning I guess would be a good threshold), then for each of those, you move the closest point by a small fraction towards the new reading to try to refine the coordinates over time, discarding any new dots which having been used to refine previous readings?
Python is too slow for any real-time mapping. There's SO much more to this if you're doing anything besides schoolboy projects. Dead reckoning only helps when you know your point of origin with some precision. This job requires far more math and faster tools than most people have access to. Quaternions and such.
I use real time mapping. Works fine for me. The idea above about tracking points and estimating….good idea but…the data is so noisy. Will like be very inaccurate.
Loved the video! You've earned yourself a new subscriber :) Also, such a cute kitty! ❤
Wspaniały projekt, Nikodemie. Możesz go bardzo rozwiać, dodając kamerę, rozpoznawanie przedmiotów, mały chwytak do złapania rzeczy, neural network do wykonywania pewnych zadań, rozpoznawanie głosu, możliwość mówienia, ledy, możesz drugi, trzeci zbudować i spróbować swarm robotics itd. Uczę się od roku tych tematów na własną rękę. ROS już trochę znam i tam mają bardzo dobre parkiety/moduły do nawigacji (SLAM). Musisz do tego napisać plik URDF do twojego robota, abyś mógł mógł z Gazebo korzystać. Gratulacje za ślęczenie się nad skanerem Lidar. Ja sam bym chciał kupić taki za 100 zł na Olx po robocie sprzątającym, ale jeszcze nie umiem napisać biblioteki do niego jeszcze tego nie robiłem. Czy ten twój kod pasuje do innych takich czujników Lidar? Pozdrawiam serdecznie.
Nice project! I think you’ve got a bright future ahead of you. Keep up the great work.
this is a cool project, you did a great job
Awsome video! Looking forward the next - with RPi and ROS!
Przez tą książkę się zorientowałem że to Polak ale od początku nie pasował mi ten akcent ;PPP Dobry film, pozdrawiam!
I'm way out of my depth here, but have you considered fuzzy logic for navigation? It's computationally light, but able to deliver subtle decision trees.
Weird question: Is that the thing a roomba does when it smacks into the walls?
"Subtle decision trees" he says. LOLOLOLOLOLOLOLOLOLOLOLOL. Oh lordy, the BS keeps on coming. I love it.
Budd, you really resembles The "TinTin" character 😄
Excellent. Great job. How did you track and update the position on the map?
awesome vid! any one can just put a jetson nano on it and call it a day, it's cool to see someone working with limited hardware
Epic Simple Idea explanation
Very cool. A lot of work. A lot of learning. A lot of success! Thanks for sharing.
Thanks for your comment!
Very impressive ! I'm looking forward to see what's next !
Thanks!
4:57 net-tools is an obsolete package on many Linux OSes so the command "ifconfig" probably won't exist try "ip addr" instead.
I’m a bit concerned about your comment about the grounds of the microcontrollers and motors. Batteries are essentially floating sources, they can be at different voltages relative to each other, so 5 V on one source might be a different voltage in reference to the other source, higher or lower and can cause damage or communication issues. You should be using a H-bridge to drive the motors and the ground of the microcontrollers should be connected to the ground of the H-bridge chip. Generally a lot of signals are referenced to ground, if a signal is referenced to ground and is transmitted between devices with separate power sources, if ground isn’t the same (connected) then it can cause a lot of issues.
There are a few ways around the issues without connecting the grounds. The first is to use optocouplers and the second is to use a differential and isolated communications method, so it relies on the voltage between the differential pair and not the voltage in reference to ground. Neither of those options would be required for your robot. If you wanted to be extra safe, even though it isn’t needed, then you could connect the grounds together through a resistor.
Very good video and explanation. I will be following your effort to learn more. I too want to explore ROS further!
Just a side note: you can create "virtual" serial ports on the Arduino
It's too slow for stuff like this
so cool man This is awesome. please make more projects like this!
Please make a video of that circle shape robot that you mentioned in this video. How you build and designed it. I cant find any video about it in your channel
this robot is insane, are you going to implement things like SLAM, path planning, etc?
Actually, in Linux you should probably us 'ip addess show' or 'ip ad' for short.
This was the project that I wanna do.
Great video! Very inspiring. Thank you for publishing all your hard work.
Lidar 💫
Hey, great video
I’m trying to build my own robot for my university’s final project and i just need to know can i connect the LIDAR to esp32 and send the data via wifi to computer and also control the wheels with the esp32?
Awesome video Nik, I was trying to find the video where you first built the first robot platform. Do you happen to have the link to it? Thanks!
Wow.. Fantastic video mate 👍👍💫
I’m looking forward to your video using ROS.
Hey nikodem please suggest your sources of python learning for electronics
If you want programming in emebed. Not relevant what you will use. In fact python is easy to learn, but it is interpreted.In consequent is just slow, so is useless for embeded electronics, because there are cheap microchips.Max one, two thread with low frequency eg. 130mhz.
The best way to learn electronics/python is to set yourself a personal project and start from there learning specific stuff you need to do.
If you would like to program microcontrollers in Python then there are no that many options as for now (Raspberry Pi Pico and some boards from Seed Studio and Adafruit as far as I know). MicroPython and Python is very similar so you just build few projects on you computer. Find something you want to build, and learn everything you need to build it by building it. Once your project is ready move onto the next one!
intresting video, I was intrested how you mange the control infrastructure GUI, same as me , but good video.
great project
Nice Videos, may i ask if you are only a hobbiest or in direction engineering?
He's barely a "hobbiest" - your words. I think you meant "hobbyist". And, you're welcome.
Każdy czeka na frezarkę !
9:41 Sounds like electroboom 😂
Kurde, Polak majstersztyk
have you tried combing this with the raspberry pi 5 with the ai kit and the 13 TOPS Hailo NPU?
Great. Job. My. Friend
Research the Michaelson / Morley expirement.
Está muy bien tu proyecto de fábricar un robot muy aparecido a los típicos robot aspiradores del mercado
@nikodembartnik can u share the circuit diagram for this project?
Hi! I wanna ask for the wire connection of the robot, how can I connect the motors, lidar, and the boards
Rozumiem, że takie projekty kosztują i dobrze jest mieć sponsora, ale VPN nie ma nic wspólnego z bezpieczeństwem. Jedyne sensowne zastosowanie VPNa to omijanie blokad regionalnych oraz banów na różnych portalach, ewentualnie omijanie copyright-trollów, jeśli ściąga się coś z torrentów. Prywatność i bezpieczeństwo nie jest w żaden sposób poprawione korzystając z VPN.
how do you convert the lidar hex values to readable distance values? I have a lidar but I can't make it work
ROS:: is the way to go!
How can I measure the length of a straight length like a spool of paper?
Hello!
I am a college student. I was looking for a self-driving delivery robot for the school competition!
I heard that the stm32duino board has good performance, so I want to use the Lidar sensor with the video through this board, can you tell me if it's possible, please?? 😂
hy nikodem thx for the video i can use NodeMCU V2 WiFi Amica ESP8266 ESP-12F also or, its basicaly the same?
Can you do a video on differential drive ?
awesome bro, keep going.
how would i be able to use LIDAR to help me with simple obstacle detection in arduino
Hejka, jak ten robot już raz zmapuję obszar, po którym się porusza to czy przy kolejnym przejeździe tej samej trasy korzysta z mapy, którą wcześniej zrobił czy od nowa musi skanować cały obszar po przez który jedzie?
Bro you are LEGEND
pretty cool
Excusme Sir, i want to ask, can using LiDAR A2M8? Thanks Sir
Have you done any of the ros yet?
Not, yet but a new video featuring this robot platform with some cool computer on board coming soon!
Great video, thanks!
Nice and interesting video.
Thank you for Sharing I like your explanation! 🎉🎉🎉
whats the IDE in black theme you using to code arduino?
Good job!
Hello, how do you manufacture the parts for the robot structure?
You can see it in this video: th-cam.com/video/DrWF_xTzURI/w-d-xo.html
What lidar sensor did u use
R u using lidar lite
dobra robota mordo!
Dzięki Ziom!
how did you learn to code
Where did you get the black circles?
I made them on my own, here you can see more: th-cam.com/video/k6F_VQQY3RE/w-d-xo.html
Very good, Thanks a lot.
hello , if I want to measure the density of traffic on a road, what kind of system can I install? i want something low cost and functional. it should be a system that can transmit this density to another device and show the density. i would be very grateful if you help me. lidar sensor is used? which one do you think is advantageous?
I think no sensors would work here. You need a camera and a CNN (Convolutional Neural Network) to recognize traffic, and an algorithm to calculate traffic density.
Great work !!!!
Goood project! I like it
Great video!
Clever chap 👍
Co studiujesz byq?
good job!
Good job, nice 👍🏻
You are SOOOO smart!!!
Video name: "Can you map a room with LIDAR and Arduino?"
But in fact the PC is doing all hard calculations?
There are no "hard" calculations in this video. It's simple, basic Trig. You can do those in your head if you have to.
@@foobarmaximus3506 I watched this video again, and I can say that you are right. There is no real "mapping" here, Lidar is used only for displaying current scans and simple movement controlling. But they are still executed at the PC. If I'm not mistaken, Arduino is not processing Lidar data at all.
Hello sir can you please make mapping room using computer vision and arduino
how can we get the code?
achievement unlocked (Xiaomi vacuum cleaner)
Jesteś szefem
Excuse me, I from Thailand. I need to your help. I see your video in your channel on TH-cam about Lidra Robot. Please give me about your Arduino's port connection with various ports.