Collider cannot be detected

Hi unity developers! I have some problems with my collider.

I have a player which I assigned Circle Collider and Rigidbody2D and multiple tracks with Box Collider 2D. Those multiple tracks are child of parent GameObject. I want to check whether the player isTouching the track, and if it does, it will move the player and stop when player is not touching the track.

But when I run my code, it straight away went to the else statement because it cannot detect the collision. I am sure there must be an error somewhere but I cannot find it.

Can you help me? T^T

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Animations;
using UnityEngine.UI;

public class MainLoop : MonoBehaviour
{

    public IEnumerator Play()
    {
        foreach( Function_ fun in this.sequence_ )
        {
            fun.Func(animator, mainTarget);
            Collider2D[] childColliders = GameObject.Find("Track").GetComponentsInChildren<Collider2D>();

            // Check for collision with mainTarget and any game object
            if (IsColliding(mainTarget) )
            {
                // Debug.Log(childCollider.gameObject);
                this.stop = true;
                Stop();
                yield return new WaitForSeconds(1);
            }
            else
            {
                Debug.Log("Main target not collide");
                yield break;
            }

           // break; // Exit the loop after collision
        }
    }

    public void Stop()
    {
        // Implement your stopping logic here
        // For example, you can set some variables or stop a specific process
        Debug.Log("Stop method called");

        // Set stop to false to indicate that it has been processed
        stop = false;
    }

    bool IsColliding(Rigidbody2D target)
    {
        Collider2D[] childColliders = GameObject.Find("Track").GetComponentsInChildren<Collider2D>();
        foreach (Collider2D collider in childColliders)
        {
            // Check if this collider has the specific tag
            if (collider.gameObject.CompareTag("Track"))
            {
                // Check for collision with this specific collider
                if (target.IsTouching(collider))
                {
                    // Collision detected
                    // ... your existing collision response logic ...
                    return true;
                }
                // Found the tagged collider, no need to check further
                break;
            }
        }

        // No collision detected with the specific tag
        return false;
    }

}

Hi,
please consider the component of each object.
All each object have to have Rigidbody component and one main object of thoese should be contain collider component.