Using std::thread can work, but if you wish to interact with a Tango device from this thread then you need to allocate an omni_thread ID for you thread by allocating an omni_thread::ensure_self object from your thread.
This object should exist for the duration of your thread so that thread has a stable ID, so, the easiest thing is allocate it on the stack at the start of your thread.