Mavi Top Tespiti'ni ayarla
- Görüntü filtreleme parametrelerini ayarlayın. Onları algoritmada kullanılacak bir veri yapısına ekleyin.
blueBallParams.blueMax = 120; % Saf mavi den maksimum izin verilen
sapmaBallParams.darkMin = 30; % Minimum kabul edilebilir koyuluk değeri
- Top bulma parametrelerinin bulabileceğinden emin olmak için topu görselleştirmeye çalışın. exampleHelperTurtleBotFindBlueBallBir daire bulunup bulunmadığını görmek için işlevi çalıştırın . Eğer öyleyse, cve mdeğerler atanmış. ball, görüntüye mavimsi ve koyuluk filtreleri uygulayarak oluşturulan bir ikili görüntüdür. ballMavi topun uygun şekilde izole edilip edilmediğini görmek için görüntüleme :
latestImg = readImage (handles.colorImgSub.LatestMessage);
[c, ~, top] = örnekHelperTurtleBotFindBlueBall (en son, maviBallParams);
exampleHelperTurtleBotPlotObject (latestImg, top, c)
duraklama (3);
- Önceki komutlar ikili görüntüyü bir şekilde görüntüler ve topun ortasında kırmızı bir artı çizerler. Eğer top bulunamazsa artarak veya azaldıktan blueBallParams.blueMaxve blueBallParams.darkMin. Top bulana kadar arsa üzerine tekrar bak. Bu yöntem, denetleyiciyi kullanmadan önce top bulma algoritmasını ince ayarlamanın iyi bir yoludur. Bu komutları Gazebo ile çalıştırdığınızda, bu grafikte göründüğü gibi (soldaki örnek Gazebo görüntüleri, sağdaki gerçek dünya görüntüleri):
- Gazebo'da kullanılan parametreler topu bulamayabilir, çünkü eşik değerleri çok cömerttir. Gazebo görüntüsü, duvarın bölümlerini ve beyaz alan içindeki diğer nesneleri içerir. Gerçek görüntü beyazla çok doymuş görünüyor. Parametreleri daha kısıtlayıcı olacak şekilde değiştirmeyi deneyin:
blueBallParams.blueMax = 10; % Saf mavi den maksimum izin verilen
sapmaBallParams.darkMin = 220; % Minimum kabul edilebilir koyuluk değeri
latestImg = readImage (handles.colorImgSub.LatestMessage);
[c, ~, top] = örnekHelperTurtleBotFindBlueBall (en son, maviBallParams);
exampleHelperTurtleBotPlotObject (latestImg, top, c)
duraklama (3);
- Şimdi parametreler çok kısıtlayıcı. Topun bir kısmı Gazebo görüntüsünde bile görünmüyor ve gerçek imgede hiçbir şey görmüyorsunuz. Parametreleri daha fazla ayarlarsanız, orta bir zemin bulacaksınız. Gazebo'da aşağıdaki parametreler iyi çalışmalıdır. Donanımla, ortam aydınlatması, parametreleri ince ayar yaparak daha fazla zaman harcamanızı gerektirebilir.
blueBallParams.blueMax = 30; % Saf mavi den maksimum izin verilen
sapmaBallParams.darkMin = 90; % Minimum kabul edilebilir koyuluk değeri
latestImg = readImage (handles.colorImgSub.LatestMessage);
[c, ~, top] = örnekHelperTurtleBotFindBlueBall (en son, maviBallParams);
exampleHelperTurtleBotPlotObject (latestImg, top, c)
duraklama (3);
Renk eşiklerini ayarlamak, onları Gazebo benzeri simüle edilmiş bir ortamda ayarlamakla karşılaştırıldığında zorlayıcıdır.
- Parametrelerin ince ayarını yaptıktan sonra, bunları handlestop takibi algoritması tarafından kullanılacak nesneye ekleyin .
handles.params = blueBallParams;