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)

КОМЕНТАРІ • 83

  • @retireeelectronics2649
    @retireeelectronics2649 Рік тому +13

    Very nice project, like the design. I can see the fishermen asking for a bottom map of a lake soon.

    • @Clay-Builds
      @Clay-Builds  Рік тому +1

      Haha I’ll be using it for that myself.

  • @smithincanton
    @smithincanton Рік тому +11

    LoRa will be your friend. With the right antenna and line of sight you can get MILES of range.

  • @onlynonsense8723
    @onlynonsense8723 Рік тому +2

    Interesting project combined with a thorough explanation of your process. Great job!

  • @davidandrews8566
    @davidandrews8566 Рік тому +3

    Hello Clay, this is a most interesting project. I look forward to future episodes. Greetings from the UK

  • @PoisonGryphon
    @PoisonGryphon Рік тому +7

    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.

    • @Clay-Builds
      @Clay-Builds  Рік тому +1

      Yes, that would be a great improvement. Especially steering in a perpendicular wind/current environment.

  • @Buckarooooooooo
    @Buckarooooooooo Рік тому +5

    Super under rated channel. Very cool project!

  • @raulandresmoch
    @raulandresmoch Рік тому +3

    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

    • @Clay-Builds
      @Clay-Builds  Рік тому +1

      I’d love to build an ocean version some day.

  • @AmitSingh-cz4lq
    @AmitSingh-cz4lq Рік тому +1

    Can you please explain how line # 15 and 16 in manualmode.h at timestamp 19:48? Thanks for the wounderful project.

    • @Clay-Builds
      @Clay-Builds  Рік тому

      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.

  • @_kartik_pandey_1510
    @_kartik_pandey_1510 14 днів тому +1

    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.

    • @Clay-Builds
      @Clay-Builds  10 днів тому

      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.

    • @_kartik_pandey_1510
      @_kartik_pandey_1510 10 днів тому

      @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.

  • @JohnnyTheCache
    @JohnnyTheCache Рік тому +2

    Fantastic work! I wanted to do this for years but never did..

  • @santiagomedina5918
    @santiagomedina5918 5 місяців тому

    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.

    • @Clay-Builds
      @Clay-Builds  5 місяців тому +1

      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.

    • @santiagomedina5918
      @santiagomedina5918 4 місяці тому

      @@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?

    • @Clay-Builds
      @Clay-Builds  4 місяці тому

      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.

  • @techdes
    @techdes Рік тому +1

    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.

    • @Clay-Builds
      @Clay-Builds  Рік тому +1

      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.

  • @agnithusaramayaamarathunga4244

    what is the sonar sensor you used for this project?

    • @Clay-Builds
      @Clay-Builds  Рік тому

      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/

  • @ReubenSpaeth
    @ReubenSpaeth 8 місяців тому +2

    This is so cool! Thanks for taking the time to share! 🙌🏻🙌🏻

  • @gus452000
    @gus452000 Рік тому +1

    Excellent video and description, very well done!

  • @TomLincolnPhoebe
    @TomLincolnPhoebe Рік тому

    I do volunteer water quality monitoring for a small city. They could use a gizmo like this.

  • @floyd_da_beast5517
    @floyd_da_beast5517 6 місяців тому +1

    Realy cool but is there a way to make a 3d scan of the lake?

    • @Clay-Builds
      @Clay-Builds  6 місяців тому

      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.

    • @floyd_da_beast5517
      @floyd_da_beast5517 6 місяців тому

      @@Clay-Builds ah ok

  • @Jptoutant
    @Jptoutant 3 місяці тому +1

    love your boat!

    • @Clay-Builds
      @Clay-Builds  3 місяці тому

      Thank you sir. There’s a new and improved version as well

  • @coltburns
    @coltburns Рік тому

    Would love to work with you on Nav solutions! Great build man.

    • @coltburns
      @coltburns Рік тому

      Concerning the drag/propeller efficiency, have you thought of doing semi-submersible?

  • @xcruell
    @xcruell Рік тому +1

    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.

    • @Clay-Builds
      @Clay-Builds  Рік тому +1

      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.

  • @iamkian
    @iamkian Рік тому +1

    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.

    • @Clay-Builds
      @Clay-Builds  Рік тому +1

      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.

    • @iamkian
      @iamkian Рік тому

      @@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...

  • @reypeterignaciustocmo1857
    @reypeterignaciustocmo1857 3 місяці тому +1

    good day Sir! may I use your project in our research engineering project?

    • @Clay-Builds
      @Clay-Builds  3 місяці тому +1

      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.

    • @reypeterignaciustocmo1857
      @reypeterignaciustocmo1857 3 місяці тому

      where did you bought the Sonar Module: Blue Robotics Ping Echo Sounder?

  • @udhavmaharaj6179
    @udhavmaharaj6179 Рік тому +1

    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?

    • @Clay-Builds
      @Clay-Builds  Рік тому +1

      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.

    • @udhavmaharaj6179
      @udhavmaharaj6179 Рік тому +1

      @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.

    • @Clay-Builds
      @Clay-Builds  Рік тому +1

      @@udhavmaharaj6179 yes, check out my newer video on this project. There’s a GitHub link in the description with all the code

    • @udhavmaharaj6179
      @udhavmaharaj6179 Рік тому

      @@Clay-Builds awesome thank you for that. I'll check it out now.

    • @udhavmaharaj6179
      @udhavmaharaj6179 Рік тому

      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

  • @DanSam-h4u
    @DanSam-h4u Рік тому +1

    I'm a student and would like to do some similar mapping. Would you be willing to build or sell a system like this?

    • @Clay-Builds
      @Clay-Builds  Рік тому +2

      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.

    • @DanSam-h4u
      @DanSam-h4u Рік тому

      @@Clay-Buildsthanks man.

  • @wandogma
    @wandogma 7 місяців тому

    May I ask where you buy the sonar transceiver?

  • @BlueRobotics
    @BlueRobotics Рік тому +1

    Woooo!!!! Very nice mount 😁

  • @bilisguide
    @bilisguide Рік тому

    olá, seria possível usar um gps RTK?

    • @bilisguide
      @bilisguide Рік тому

      ser um simples o projeto, somente sonar e rtk.

  • @johnsolo86
    @johnsolo86 3 місяці тому +1

    Wooww!!

  • @Z0ctB0x
    @Z0ctB0x Рік тому +1

    Nice channel dude!

  • @guyonadino
    @guyonadino 7 місяців тому

    you deserve more subscribers!

  • @shahanawajsayyad2640
    @shahanawajsayyad2640 Рік тому

    Are sell this sonar

  • @SpandanNagarkar23
    @SpandanNagarkar23 7 місяців тому +1

    Sensor is soo costly 😢
    But ur work is absolutely amazing ❤

    • @Clay-Builds
      @Clay-Builds  7 місяців тому +1

      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.

  • @ermuhambetcalmenov8104
    @ermuhambetcalmenov8104 9 місяців тому

    Rakhmet!

  • @AmeerKhan-oe9se
    @AmeerKhan-oe9se Рік тому

    Please brother i need your help

  • @TegraZero
    @TegraZero Рік тому +1

    you need 3d printer clay, your channel will boom in future

    • @Clay-Builds
      @Clay-Builds  Рік тому +3

      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.

    • @xcruell
      @xcruell Рік тому +1

      Must be a turkish, african or indian person typing this rn.
      Never heard of the interest in clay printers outside of these countries.

    • @TegraZero
      @TegraZero Рік тому +1

      @@xcruell 'clay' is the name of youtuber/youtube Channel name.

    • @SamiJumppanen
      @SamiJumppanen Рік тому

      @@xcruell 😄

  • @partyalldaypartyallnight1057
    @partyalldaypartyallnight1057 2 місяці тому

    here me out. Submarine. :)