STRAP-LLM: structured task allocation and planning for heterogeneous robots using large language models