מערכת AI להאכלת דגים אוטומטית

מזון הוא סעיף ההוצאה העיקרי בחוות דגים, וחלק מהגרגירים מגיע לקרקעית ולזרם. אנו מפתחים מערכת AI להאכלת דגים אוטומטית מקצה לקצה: ההזנה מותאמת להתנהגות הדגים ולמצב המים. צריכת המזון והפסולת יורדים ללא כוונון ידני.

תחומי פיתוח AI

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1365
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

אופטימיזציית AI של האכלת דגים: היכן אובד המזון

במשקי כלובים ואגמים ההאכלה עדיין נשענת על מפעיל במשמרת: את המנה קובעים פעם בעונה לפי טבלה, ומשם מתקנים "בעין" — מוסיפים ביד אם הדגים מתקרבים למאכיל באדישות.

הצריכה בפועל תלויה בטמפרטורת המים, בחמצן המומס, בזרימה ובזמן שחלף מאז המיון, ולכן משטר קבוע כמעט תמיד גורם להאכלת יתר או לתת-האכלה.

ההפסדים מגיעים משני הכיוונים. האכלת יתר — אלה גרגרים שלא נאכלו: הם שוקעים לסחף, מתפרקים וצורכים חמצן — ומכאן אזורי תמותה מחנק ועלייה בתמותה. תת-האכלה — גידול שלא הושג: הדגים אינם מגיעים למשקל הרצוי בזמן, וחלק מהלהקה נשלח כמוצר שאינו עומד בתקן.

סעיף נפרד של הפסדים — הזנה לא אחידה. המאכיל מפזר את הגרגרים על פני השטח, אך בזרימה וברוח חזית ההאכלה נעה: אזור אחד בכלוב מקבל פי כמה יותר מזון מהשכן. דגים גדולים דוחקים את החלשים, ואלה אינם אוכלים את מלואם — תת-האכלה ופיזור בגודל מצטברים לאורך כל המחזור.

המפתח — מדידה במקום שבו המזון פוגש את הדגים: מצלמות תת-ימיות וראייה ממוחשבת מראות כמה גרגרים יורדים לקרקעית וכיצד הלהקה מגיבה לחלוקה. בהמשך נבחן כיצד מהנתונים האלה נבנה משוב שמשנה את משטר ההאכלה לפי המצב בשטח, ולא לפי הטבלה.

מה משתנה בחווה: צריכת מזון, תמותה, עומס

השינוי המרכזי — צריכת המזון ליחידת גידול של ביומסה. המערכת מזינה לפי הצריכה בפועל של הלהקה, ולא לפי לוח זמנים קבוע: חיישנים קולטים את הפעילות באזור ההאכלה, והמודל מתקן את המנה ואת ההשהיה בין ההזנות. המזון מפסיק לשקוע למשקע, והמרת המזון מתאזנת בכל כלוב ובריכה, במקום להישען על ממוצע המשק.

השינוי המדיד השני — שיעור התמותה. תת-האכלה והאכלת יתר, שבעבר צפו רק במיון או בדוח הווטרינרי, נראים ברגע החריגה: ההזנה מצטמצמת באזור שבו הצריכה נפלה, ואינה מוגברת באזור שבו הלהקה כבר שבעה. נעלמים אירועים נדירים אך כבדים — תמותה מחנק לאחר האכלת יתר והתפרצויות לאחר תת-האכלה.

השלישי — העומס על הצוות. המשמרת מפסיקה לבזבז זמן על סבב בין כל המאכילים ועל תיקון ידני של משטרים: המפעיל מסתכל על סיכום לפי אזורים ומתערב נקודתית. הבקרה על ההאכלה הופכת לרציפה ולא מדגמית — בכל אזור האכלה נשמר יומן של הזנות, תגובות הלהקה ותיקוני המפעיל.

כל המדדים מחושבים מזרם נתונים אחד, ולכן האפקט נראה לא בעוד עונה אלא לפי שבועות: צריכת מזון ליחידת גידול, שיעור תמותה, מספר ההתערבויות הידניות במשמרת. מכאן גם השאלה הבאה — כיצד בנוי הלולאה שמאפשרת זאת.

משטרי האכלה: השוואה בין גישות ומגבלות

ניהול ההאכלה הוא בחירה בין פשטות לרגישות למצב הדגים. טיימר נותן משטר צפוי ואינו תלוי בקריאות מכשירים, אך אינו מבחין בירידה בתיאבון או בשינוי בטמפרטורת המים. האכלה במנות לפי חיישנים מסירה חלק מההחלטות הידניות, אך דורשת ספי תגובה שנבחרו נכון.

הזנה אדפטיבית לפי משוב משנה את הנפח ואת התדירות לפי הצריכה בפועל — אך רק כשיש אות יציב ומאכיל אוטומטי מכויל.

אפשרות מתי מתאימה היכן נשברת
האכלה לפי לוח זמנים (טיימר) טמפרטורה יציבה, משקל אחיד, המשטר משתנה לעיתים נדירות אינה מגיבה לירידה בתיאבון: האכלת יתר שוקעת למשקע ומקלקלת את המים
האכלה במנות לפי חיישני התנהגות הדגים פעילים, יש התקרבות מובהקת למאכיל, וצריך לקצץ בהאכלת יתר הסף רגיש לעכירות ולזרימה ומייצר תגובות שווא
הזנה אדפטיבית לפי משוב משקל לא אחיד, תנודות יומיות בצריכה, נצברת היסטוריה נדרשים נתונים לכיול; באובדן אות חובה חזרה בטוחה ללוח הזמנים
האכלה ידנית בידי המפעיל הרצה, כיול, תקופות חירום תלויה באדם; המשטר אינו משוחזר

המשטרים אינם מחליפים זה את זה אלא פועלים בשכבות: לוח הזמנים נשאר כרשת ביטחון, חיישני ההתנהגות מדייקים את רגע ההזנה, והמשוב מתקן את הנפח. מערכת ישימה היא זו שבה המעבר בין השכבות מתואר מראש ואינו מוביל להשבתת ההאכלה.

כיצד אנחנו מטמיעים את המערכת: שלבי העבודה ההנדסית

ההטמעה מתחילה לא בבחירת מצלמות אלא בתיאור המשק: לכל בריכה או כלוב יש משטר האכלה משלו, ומודל שנכייל על אחד יעבוד שלא כשורה על השכן. לכן הימים הראשונים מוקדשים למדידות ולשיחות עם המשמרת, וההתקנה תופסת הרבה פחות זמן מהכיול.

  1. סקר המשק. מתעדים את צפיפות ההשמה, סוג המזון וגודל הגרגר, נקודות פריקת המים, זמני ההאכלה בפועל וכיצד המזון מתפזר על פני השטח. משווים את רשומות היומן להתנהגות הלהקה: פער בזמני ההאכלה שובר את כל ההיגיון שממשיך ממנו. הפלט — מפת משטרים לכל בריכה ורשימת מגבלות שבהן האוטומציה לא תיתן יתרון.
  2. פריסה. בוחרים נקודות למצלמות ולחיישנים: זווית כיסוי אל פני המים, היעדר השתקפויות מהמנורות, הגנה מפני עיבוי וצמיחה ביולוגית, ונתיבי כבלים מחוץ לאזור התחזוקה. אזורי הכיסוי חופפים — מצלמה אחת לא תישאר נקודת כשל יחידה.
  3. כיול המנות. מריצים את המזין על מאזניים וקובעים את פיזור ההזנה, ואחר כך מחברים אותו למודל: הוא קובע את רגע סיום ההאכלה לפי תגובת הלהקה ולא לפי טיימר. הכיול נעשה בנפרד לכל קו — שחיקת המכניקה שונה בכל מקום.
  4. בדיקה במחזור חי. בשבועות הראשונים המערכת עובדת במצב יועץ: מציעה מנה, והמשמרת מאכילה. פערים מנתחים לפי יומן האירועים ובודקים את חלק המזון ששקע לקרקעית, את הגידול ואת הפעילות. חזרה למצב ידני — במתג אחד, בלי לעצור את הקו.
  5. מסירת המערכת. כותבים נוהל למשמרת, הוראות למקרה של כשל חיישן או אובדן תקשורת, מגדירים התראות ומאמנים את הצוות. לאחר תקופת בקרה חוזרים על המדידות ומוסרים למשק את פריסת המצלמות הסופית, הגדרות המנות וסדר התיקון העצמאי.

ערכת האספקה: קונפיגורציות, תרשימים, נהלים

לאחר ההרצה נשארים במשק לא רק מערכת עובדת, אלא גם ערכת מסמכים שלפיה אפשר להפעיל אותה, למסור אותה ולשחזר אותה. אנחנו מוסרים אותה גם בפורמט קריא למכונה וגם על נייר — כדי שמפעיל במשמרת לא יחפש פרמטרים בהתכתבות, ומהנדס חדש ייכנס לפרויקט בלעדינו.

  • קונפיגורציות עבודה — פרופילי האכלה לכל בריכה: מנות יומיות, חלונות הזנה, ספי תגובה של החיישנים, היסטוריית גרסאות של הפרופילים.
  • תרשימי חיבור — טופולוגיית המצלמות, החיישנים ובקרי המאכילים, נקודות הזנה, נתיבי כבלים ומיעון הצמתים.
  • מדיניות הרשאות — תפקידי המפעיל, הטכנולוג ומהנדס השירות, סדר הנפקה ורוטציה של מפתחות, וגבולות השינויים בהגדרות.
  • נוהל תחזוקה — תדירות כיול החיישנים, ניקוי האופטיקה ובדיקת המזינים; סדר הפעולות בחריגה מהנורמה.
  • הוראות למשמרת — כרטיסים של עמוד אחד: מעבר למצב ידני, עצירת חירום של ההזנה, למי מתקשרים ובאיזה סדר.
  • יומן שינויים וכללי חזרה לאחור — כיצד להחזיר את הפרופיל הקודם אם הגדרה חדשה גרמה להאכלת יתר או לתת-האכלה.
  • דרכון המערכת — הרכב הצמתים, האחראים, תקופות האחריות ונקודות החיבור לשירות.

הערכה מתעדכנת בכל שינוי בלוגיקה — אחרת התיעוד יתפצל מהמציאות בתוך חודשיים.

מקרה בוחן: צריכת מזון ותמותה לפני ואחרי ההטמעה

אנחנו מנתחים הטמעה במשק אונז'סקיה פורל — קו כלובים לדגי מים קרים, שישה כלובים. לפני הפרויקט האכילו לפי לוח זמנים קבוע עם תיקון "בעין": במים קרים החלטה כזו מאחרת, חלק מהגרגרים שקע מתחת לכלוב, והיקף האכלת היתר לא נראה באף דוח.

המערכת סגרה את לולאת המשוב. המודל מקבל טמפרטורה, חמצן מומס והתנהגות להקה — כמה מהר נאכלת המנה ובאיזה עומק מחזיקים הדגים — ומחשב מחדש את המנה היומית. המאכילים עובדים לפי מידת האכילה: ההזנה מפוצלת למנות עם השהיה, והמנה הבאה יוצאת רק אם הקודמת נאכלה. הדוח המרכזי למשק הוא לא "כמה הוזן" אלא "כמה נצרך".

מדדים לפני ואחרי

  • המרת המזון ירדה מ-1.6 ל-1.24 באותו גידול ביומסה.
  • תמותת דגים בעונה: מ-11% ל-5.8% — עיקר התרומה באה מהתקופות הקרות.
  • הפיזור בין הכלובים בצריכת המזון הצטמצם פי שניים: הכלובים החלשים הפסיקו להדביק את המנה בלי לדעת מה קורה.

מה הושלם תוך כדי העונה. בשבועות הראשונים האוטומציה הגיבה לזינוקים של ציפורים ולאדוות סערה — הוספנו מסנן לפי משך האות. בזמן טיפולים והפעלת אוורור הלולאה עוברת למצב ידני: שם האוטומציה רק מפריעה.

עד אמצע העונה המודל אומן מחדש — הדגים גדלו, השתנו העומק וקצב האכילה, והספים הישנים יצרו תת-האכלה בכלובים הגדולים.

במה שונה הזנה לפי לוח זמנים מהזנה אדפטיבית?

הטיימר עובד מטבלת ההאכלה: ביומסה, טמפרטורה וגידול יומי ממוצע קובעים מנה שמחולקת לכמה הזנות. הלולאה פתוחה — היא אינה יודעת כמה מזון נאכל בפועל.

מכאן שתי סטיות: בירידה בתיאבון (השרה, עקה, ירידת חמצן בלילה) הגרגרים יורדים לקרקעית ומתמוססים, ובזינוק בפעילות הדגים אינם אוכלים את מלואם. טבלאות ההאכלה של היצרן, למשל Skretting, מחליקות את הפיזור אך נשארות ממוצע על פני הלהקה.

הזנה אדפטיבית סוגרת את המשוב לפי התגובה בפועל למזון. מצלמה או הידרופון עוקבים אחרי אופן ההתקרבות של הדגים למאכיל, המודל מזהה את דעיכת הפעילות ומפסיק את ההזנה — שארית המנה לא נכנסת למים.

אפשרות מתי מתאימה מגבלות
טיימר לפי טבלת האכלה משטר יציב, משקל אחיד, מעקב ביומסה מסודר אינו מגיב לתיאבון; בכשל אוורור האכלת היתר לא תיעצר
טיימר עם תיקון לפי הסביבה תנודות יומיות בטמפרטורה ובחמצן משנה את נפח ההזנה אך לא את רגע סיום האכילה
הזנה אדפטיבית לפי מידת האכילה מערכות RAS אינטנסיביות, דגים רגישים להאכלת יתר נדרשים אות נקי ובדיקת המודל על להקה מסוימת

טיימר מספיק היכן שהתנאים יציבים, המשקל אחיד והפסדי המזון אינם קריטיים. ברגע שמופיעים מפלי חמצן יומיים או פיזור במשקל, שגיאת הטיימר הופכת להוצאה מתמדת עודפת ולעומס מיותר על המסנן הביולוגי.

גם את גבולות המשטר האדפטיבי צריך להבין: המודל לומד על להקה ומזון מסוימים, ולכן העברה לבריכה אחרת דורשת בדיקה חוזרת, ומים עכורים או צמיחה על העדשה יוצרים תמונה כוזבת של האכילה. לכן מכיילים את האות לפי התנהגות הדגים בפועל ולא לפי עקומות ממוצעות.

ספקות טכניים: חיישנים, תקשורת, כשלים

בהתחלה בודקים לא את מצב העבודה השגרתי אלא את התנהגות המערכת בכשלים: אובדן תקשורת עם האתר, תגובות שווא של חיישנים, היעדר מפעיל ליד המסך. את התרחישים האלה מכניסים לארכיטקטורה לפני ההרצה הראשונה, ולא משלימים בדיעבד אחרי תקלה.

מה קורה בעת אובדן תקשורת עם האתר?

הבקר עובר למצב אוטונומי ומחזיק את ההאכלה לפי הפרופיל התקף האחרון. הפקודות אינן הולכות לאיבוד: הן נכנסות לתור ונבדקות מחדש מבחינת רלוונטיות לאחר שחזור הערוץ. אם הערוץ לא חזר בזמן שהוקצב, האחראי מקבל התראה — ולא שקט בניטור.

כיצד המערכת מתמודדת עם תגובות שווא?

ההחלטה מתקבלת לפי תמונה מאומתת ולא לפי מדידה בודדת: כמה מקורות, חלון מיצוע, ספים עם היסטרזיס — זינוק קצר בטמפרטורה או בעכירות אינו מבטל את ההאכלה. חיישן שחורג מהקבוצה מסומן כמפוקפק, והשאר ממשיכים לסגור את הלולאה.

מה עם תחזוקה ושחיקת חיישנים?

לכל ערוץ יש בקרת סחיפה: הקריאות נבדקות מול צמתים שכנים ומול ההיסטוריה, והמערכת מודיעה מראש שהחיישן חורג מהסבילות. הניקוי והאימות נעשים לפי נוהל, והחלפת חיישן אחד אינה עוצרת את הקו.

עד כמה המערכת עמידה בכשל של צומת מינון?

צמתים קריטיים משוכפלים באספקת החשמל, והמנגנון המבצע מגיע כברירת מחדל למצב בטוח — מזון אינו מוזן בעקבות פקודת שווא. הצומת הכשל מוצא מהלולאה, השאר מחלקים מחדש את העומס, והאירוע נרשם ביומן עם הסיבה והזמן המדויקים.

נדון במשימה ונחזור עם תוכנית עבודה

כדי לחזור עם תוכנית עבודה ולא עם הרהורים כלליים, אנחנו זקוקים לנתוני קלט מהמשק. פגישה עניינית אחת בתוספת גישה ליומנים ולאתר — ואנחנו מוסרים שלבים, לוחות זמנים ומדדי קבלה. להלן מה שנדרש בדרך כלל בתחילת הפרויקט.

  • נתוני בסיס על האתרים: גבולות הכלובים, הבריכות או האגמים, מספר הדגים והגזע, מערכת אספקת המים והאוורור, עומק וקצב הזרימה.
  • משטרי ההאכלה הנוכחיים: מנות, תקנים יומיים, מותג המזון, מי ועל פי איזה סימן מבצע תיקונים ידניים.
  • ארכיונים מהעונה הקודמת: יומני האכלה, קריאות חיישני טמפרטורה וחמצן, רישומים על התפרצויות ותמותה.
  • הרשאות גישה: לבקרי המאכילים האוטומטיים, לחיישנים, לצומת התקשורת ולמצלמות באתר — לקריאה ולכתיבה.
  • אחראי מצד המשק: טכנולוג או איכתיולוג עם סמכות לשנות את משטר ההאכלה ולאשר את תוצאות הפיילוט.
  • פיילוט באתר: קו אחד או כלוב אחד, 2–4 שבועות, ולצידו קבוצת ביקורת בהאכלה ידנית.
  • תוכנית עבודה: שלבים, תחומי אחריות משני הצדדים, נקודות בקרה ומה נחשב להצלחת הפיילוט.

הצעד הראשון קצר: דנים במשימה, אתם מעבירים נתונים והרשאות, אנחנו סוקרים את האתר וחוזרים עם הערכה ותוכנית. משם — פיילוט, ורק לפי תוצאותיו מחליטים אם להעביר את אופטימיזציית ההאכלה לשאר האתרים.