softbankrobotics-research / qibullet

Bullet simulation for SoftBank Robotics robots

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Stopping an asynchronous movement

wagenaartje opened this issue · comments

During an asynchronous moveTo movement, I want to launch a synchronous movement. This gives the error:

pybullet.error: Already a moveTo asynchronous. Can't launch moveTo synchronous

However, is there a way to stop the current asynchronous movement so that a synchronous movement can be performed?

Issue-Label Bot is automatically applying the label question to this issue, with a confidence of 0.67. Please mark this comment with 👍 or 👎 to give our bot feedback!

Links: app homepage, dashboard and code for this bot.

Update: I found a work-around for now,

pepper_pos = pepper.getPosition();
pepper.moveTo(0, 0, 0, frame=PepperVirtual.FRAME_ROBOT, speed=1, _async=True)
time.sleep(0.5)

Basically, it preforms an asynchronous movement to the current position which is quickly stopped. I'm still curious if there is a cleaner way, for example some kind of pepper.stop() function.

That's indeed the solution you should use for now. But that's a great point, a stopMove method along the lines of the one defined in the ALMotion documentation would be a great add-on