I think maybe there were no pending transactions from the network
There are in excess of 60,000 unconfirmed transactions in the standard mempool at the moment, and in excess of 250,000 if you include all the ones which have been dropped due to memory or time limits. There is absolutely no shortage of transactions to be mined.
or all pending transactions already taken by other pools
That's not how mining works at all. Every miner can include the same transactions in their candidate blocks, and almost all do since they all want to include the highest fee paying transactions. Candidate blocks between pools will usually contain around 98-99% of the same transactions.
The reason the block is empty is as I explained in the thread linked above:
When a node receives a block from somewhere else, it has to spend a little bit of time verifying that block, checking every transaction in the block is correct and accurate, and then updating its set of unconfirmed outputs to remove all the outputs which have just been spent and add all the new outputs which have just been created. This doesn't take long - usually in the order of a few seconds depending on your hardware - but it isn't instant.
While this is happening, a miner cannot create a new block filled with transactions to work on, because it doesn't know which transactions it can and cannot include until it verifies which transactions have just been mined in the block it just received. So for these few seconds, the miner's options are either to have their mining equipment sit idle and do nothing, or attempt to mine an empty block until they have fully verified the last block. Since having their equipment sit idle would be a waste of money, most miners attempt to mine an empty block for a few seconds until they create a normal block filled with transactions and then switched to trying to mine that instead. Very occasionally a miner will be successful in these few seconds and will mine an empty block.