Setting my drone to "Pets" collision group isn't working

Can you detect anything wrong with this picture?

-- my collision groups
local physicsService = game:GetService("PhysicsService")
physicsService:CreateCollisionGroup("Pets")
physicsService:CreateCollisionGroup("Ghost")
physicsService:CreateCollisionGroup("Characters")
physicsService:CreateCollisionGroup("NPCS")

physicsService:CollisionGroupSetCollidable("Ghost", "Characters", false)
physicsService:CollisionGroupSetCollidable("Ghost", "Pets", false)
physicsService:CollisionGroupSetCollidable("Ghost", "Ghost", false)
physicsService:CollisionGroupSetCollidable("Ghost", "Default", false)

physicsService:CollisionGroupSetCollidable("Characters", "Characters", true)
physicsService:CollisionGroupSetCollidable("Characters", "Pets", false)
physicsService:CollisionGroupSetCollidable("Characters", "Ghost", false)
physicsService:CollisionGroupSetCollidable("Characters", "Default", true)

physicsService:CollisionGroupSetCollidable("Pets", "Characters", false)
physicsService:CollisionGroupSetCollidable("Pets", "Pets", false)
physicsService:CollisionGroupSetCollidable("Pets", "Ghost", false)
physicsService:CollisionGroupSetCollidable("Pets", "Default", true)

physicsService:CollisionGroupSetCollidable("Default", "Characters", true)
physicsService:CollisionGroupSetCollidable("Default", "Pets", true)
physicsService:CollisionGroupSetCollidable("Default", "Ghost", false)
physicsService:CollisionGroupSetCollidable("Default", "Default", true)

-- How I set the collision group for the drone.
for index,part in pairs(drone:GetDescendants()) do 
    if part:IsA("BasePart") then
        physicsService:SetPartCollisionGroup(part, "Pets")
    end
end

player.CharacterAdded:Connect(function(character)
    -- how I set collision group for characters.
    for index, part in pairs(character:GetDescendants()) do 
        if part:IsA("BasePart") then
            physicsService:SetPartCollisionGroup(part, "Characters")
        end
    end
    print("changed collisions for ",character.Name) -- this prints for both character names.
end)

It doesn’t collide with my character but it collides with other characters as shown in this video:

It shouldn’t collide with any characters. What am I doing wrong?
I set the Network Ownership of the drone to the player, which might have something to do with it.

This solution worked.