Question about the base.translate_by() and rotate_by() function?

Hi,

I’m new to the stretch robot, and currently my codebase is built on the stretch_body python API. I find a strange thing and cannot find relevant materials. When I call base.translate_by(), and then call push_command() and wait_command(). The wait_command cannot actually wait till the movement done. I check the code of wait_command function, it truly call the wait function for the base. Currently I’m a bit confused. Is this a bug or some feature I ignore?

Hi @Hanxiao_Jiang, Thank you for reporting this issue. Would you also share the Stretch Body version and firmware version your robot is installed with so we can try to reproduce it? In the meantime, I can update you on our findings/bug fixes for this issue you are facing.

Hi, thanks for the reply. Potentially I find the problem. When I visualize something using the open3D, I find that the stretch body will report some warnging that some part is timeout. Then in the following code, that part cannot perform correctly. Maybe this is related to the multiprocessing problem in python? Do I understand correctly or I have some misunderstanding?

Can you post some error outputs here for us to examine? We use multiprocessing with Stretch Body, but we haven’t seen it cause any functional issues previously.

Hi @Hanxiao_Jiang, we recently fixed the issue with the wait_command(). You can upgrade to the latest Stretch Body to resolve this issue.

1 Like