Sonar Depth Mapping With Autonomous GPS Boat
Вставка
- Опубліковано 24 гру 2024
- In this video, I add a sonar system with depth mapping capability to my self driving solar boat. I also make a few other electronic and hardware upgrades. See previous video for design/build and initial testing:
• Infinite Range Autonom...
Code and schematics:
github.com/Cla...
NEW components:
Microcontroller: Teensy 4.0
Sonar Module: Blue Robotics Ping Echo Sounder
Power Modules: Adafruit INA260 Breakouts
SD Card Module: Adafruit Micro-SD Breakout Board+ (PID 264)
I2C Hub: Adafruit Qwiic/Stemma QT 5 Port Hub (PID 5625)
Very nice project, like the design. I can see the fishermen asking for a bottom map of a lake soon.
Haha I’ll be using it for that myself.
LoRa will be your friend. With the right antenna and line of sight you can get MILES of range.
I’ll definitely be looking into that
Laura
Interesting project combined with a thorough explanation of your process. Great job!
Hello Clay, this is a most interesting project. I look forward to future episodes. Greetings from the UK
Thank you sir
I would suggest decoupling speed & direction in your code (E.G. direction is the ratio of the motors and speed is the overall input net value). Then you could apply a PID to target angle and later a PID to target speed.
Yes, that would be a great improvement. Especially steering in a perpendicular wind/current environment.
Super under rated channel. Very cool project!
Nice project, I have had a "dream" for some years now, to make an autonomous "boat" that could go on the sea from Mexico (where I live) to Africa and back. This is a nice starting point
I’d love to build an ocean version some day.
Can you please explain how line # 15 and 16 in manualmode.h at timestamp 19:48? Thanks for the wounderful project.
The steering value “steerval” goes from -100 (hard turn one left) to +100 (hard turn right). This value is determined by the position of the steering stick on the radio transmitter. The “map” function linearly converts this to a value in degrees, because the servo library which controls the ESCs wants to see a value of 0 (no throttle) to 180 (full throttle). “Throtval” is a value between 0-100 representing the position of the throttle stick. Throtval is converted to decimal by the .01 multiplier and applied to the result of the map function. This way the final motor speed is reduced as throttle is reduced.
If steerval was 0, with the stick steering straight, “map” would give a value of 180 (full throttle) for both port and starboard. Throttle would reduce both by the same amount. If steerval was 50 for example (halfway to the right) then portval would be 270 and starbval would be 90. This is because the 0,360 is inverted to 360,0. Again, the Throtval may reduce both by the same amount. The code a few lines below makes sure neither exceeds 180, so the final values given to the motors in this case would be 180 port 90 starboard at full throttle. This will make the boat steer to the right.
Sir please tell me how you did self driving gps part. I am working on similar project, I need some guidance for the auto gps navigation.
Check my newer videos on this project for the most up to date code on GitHub. It uses a PID controller on the error between actual compass heading and calculated goal heading to adjust motor speed and steer towards the target waypoint.
@Clay-Builds sir Greetings from India
I only have raspberry Pi, GPS module, motor, gyroscope and accelerometer module only
Is this sufficient enough to accomplish the auto gps navigation??
Thank you for your time.
Fantastic work! I wanted to do this for years but never did..
Very interesting, I congratulate and admire you for executing such a good idea. I have been motivated to do something similar as a project for my studies and also contribute knowing that it is open source. I would like to know if you have tried with a cheaper sonar sensor.
I'll be watching, I read you.
Thanks, I’m about to wrap up version 2. Early on, I experimented with using a basic fish finder style depth sounder, I think it was a Hawkeye brand for about $50 used. I took it apart and tried to tap an analog signal off the transducer lines to detect pulses, but never got it to work reliably. Maybe you could find a basic depth sounder with NMEA output that could be readable with Arduino.
@@Clay-Builds I was looking at some sensor called MaxBotix MB7052 for 100 dls getting a reading range of 50cm at 10m, but it is a lot of money to just start testing. My option now is to go for the JSN-SR04T, an ultrasonic sensor module that works just like the HC-SR04 but with a range of up to 4 meters and surely has nothing to do with NMEA but I think it is still possible to record data (minimally good) although surely the boat will have to be quite slow? I'll look into swapping it for a better sensor later.
Do you have any direct contact to share with you my progress on the project?
Those sensors are all intended for use in air only. I wouldn’t assume they work underwater. I wouldn’t even bother unless it has an IP rating of 68 or 69. There are some arduino libraries that can pretty easily interface with those, but you’ll at least have to account for the speed of sound difference in water. The sensors themselves may have an enclosed volume of air around the diaphragm that could be problematic underwater, they’re not proper piezoelectric transducers. Firmware certainly won’t account for surface reflections and things like that either. Boat speed will be negligible at this scale. I think you’re better off modifying a fish finder or off the shelf depth sounder to communicate with arduino. I prefer not to be contacted directly.
Amazing work! Congrats!..
How about measuring differential water drag in means of speed and direction and auto adjusting the propellers rather than adding a fixed trim to the right motor?
Maybe, some imbalance with the propeller causing that bias, as well.
I also feel like those new MIT propeller will contribute to the efficiency as you have mentioned.
Lastly, tilting PV panels surely add efficiency to electrical output while leading to some power loss due to increased wind load.
I replaced these props with some much better toroidal ones and the slight bias to one side virtually disappeared. I abandoned the tilting panel idea because of wind concerns.
what is the sonar sensor you used for this project?
It’s the blue robotics Ping echo sounder. They just replaced it with the Ping 2, mine is the previous version. bluerobotics.com/store/sonars/echosounders/ping-sonar-r2-rp/
This is so cool! Thanks for taking the time to share! 🙌🏻🙌🏻
Excellent video and description, very well done!
I do volunteer water quality monitoring for a small city. They could use a gizmo like this.
Realy cool but is there a way to make a 3d scan of the lake?
Not with a simple depth sounder. This is super low resolution approximation, just extrapolating a smooth surface between all the measured points. And it isn’t truly point based, the measured depth is from the return signal of a 20 or 30ish degree cone. Good enough to plot the depth but certainly not imaging anything on the bottom.
@@Clay-Builds ah ok
love your boat!
Thank you sir. There’s a new and improved version as well
Would love to work with you on Nav solutions! Great build man.
Concerning the drag/propeller efficiency, have you thought of doing semi-submersible?
Are these LM117s??
I never used them in a real project without any heatsinks.. They tend to shutoff, when they get to hot (150°C) and they will do that.
LD1117. Regulating only 5v down to 3v3. Rated for up to 15v and 800mA. The 3v3 stuff only draws around 400mA all together, with that split across two regulators in parallel neither is operating anywhere near its thermal limit. They don’t even get warm.
Do you think that this echo sounder could be used horizontally just below the surface?
My aim is to detect boats when passing past a certain place.
The "ping" bouncing back from the hull / keel of the boat.
It can certainly be used as a proximity sensor facing horizontally underwater. The problem with detecting boat bulls at low depths is you might run into issues with the sonar reflecting off the surface. I think for detecting boats you might be better off using above water radar.
@@Clay-Builds Yes I was thinking about this too. I did already experiment with lidar, but getting to many false readings 😞
Was hoping to use the echo sounder for this..... Back to the drawing board I guess...
good day Sir! may I use your project in our research engineering project?
It’s open source, feel free to use this for whatever. Check the newest video on it for improved code, there’s a GitHub link in the description.
where did you bought the Sonar Module: Blue Robotics Ping Echo Sounder?
Hi, how did you link the coordinates collected with the depths collected by the echosounder? I also wanted to find out how were you storing the XYZ points?
There’s an SD cars onboard that stores all the data. Every time it takes an echo sounder measurement, the microcontroller writes the current gps location to the SD card along with the depth. They’re stored in CSV format.
@Clay-Builds hi, thanks for this. Is your source code available for the GPS aspect? I would like to record location and depth but I am having some difficulty with the connections and code.
@@udhavmaharaj6179 yes, check out my newer video on this project. There’s a GitHub link in the description with all the code
@@Clay-Builds awesome thank you for that. I'll check it out now.
Hi Clay, I need some help. I managed to hook up the echosounder to the Arduino and I got my SD card linked to the arduino. But I cannot get the distance and confidence to get saved to the SD card.@@Clay-Builds
I'm a student and would like to do some similar mapping. Would you be willing to build or sell a system like this?
I’m not really interested in selling anything. But this project is all open source if you’re looking to build your own. Newer video has some improvements too.
@@Clay-Buildsthanks man.
May I ask where you buy the sonar transceiver?
Blue Robotics
Woooo!!!! Very nice mount 😁
Thanks
olá, seria possível usar um gps RTK?
ser um simples o projeto, somente sonar e rtk.
Wooww!!
Nice channel dude!
you deserve more subscribers!
Are sell this sonar
Sensor is soo costly 😢
But ur work is absolutely amazing ❤
Yea it is but it works well. At first I messed around with a couple old fish finders which included a depth sounder. Couldn’t get them to interface with arduino sadly but might be worth investigating further. I know there are some cheap ones that communicate over NMEA, which in theory is possible to read with an arduino.
Rakhmet!
Please brother i need your help
Wah wah
you need 3d printer clay, your channel will boom in future
I do have an FDM printer, used to make many of the parts in this project. Just haven’t been showing it on camera. I’m getting an SLA printer soon which I’ll use to make better propellors.
Must be a turkish, african or indian person typing this rn.
Never heard of the interest in clay printers outside of these countries.
@@xcruell 'clay' is the name of youtuber/youtube Channel name.
@@xcruell 😄
here me out. Submarine. :)