As for all Notebooks Tutorial, you can refer to this documentation to see how you can view, install and run them. A list of the most important Notebook is available in this pinned topic:
I found the solution. V-REP is too slow to answer. I disable undo/redo functionnality in V-Rep and now it works. Poppy fall down correctly with the walk() function…
Unfortunately v-rep could be really slow (especially if you don’t have good 3D driver).
Currently, in pypot there is already a five seconds timeout. But it’s still not enough on some computer. You can increase it even more, but the communication will be very slow.
For the walk behaviour, this is what is “expected”. We still need a balance behavior
Balance Behavior…ok How can I access to the sensor on Poppy in V-Rep ? I can see that there are accelerometer and gyrosensor in Poppy’s Head but I can’t see them in the config file poppy_config.json ?
Ok what I understand :
To access the sensor (like an IMU) I have to track dummy object in V-REP. To do that I add (Tracked Object=[accelorometer] in the call to from_vrep() function.
Yes exactly. I wish this will be better integrated in the future but unfortunately I don’t have much time to work on this at the moment. A better integration of sensors would definitely be a useful contribution!
No there is no simple way (or at least we did not find it) to do speed control in v-rep. We can either use the motor in speed mode but then there is no angle limit or use position only.
To circumvent this, we have updated the goto_position method which can now use the minimum jerk trajectory. Depending on what you are trying to do this may be helpful.
Useful link to the notebook ! New class PoppyHumanoid to instantiate the robot and what I understand is that there is a new Goto method supported by V-REP and a beautiful min_jerk argument to minimize the acceleration.
But I have an error message : … from_vrep got an unexpected keyword argument 'sync’
Line 66 in abstractcreature.py there is a call to the from_vrep function :
After some test on my computer, There is no difference between :
poppy.l_shoulder_x.goto_position(120, 5)
and
poppy.l_shoulder_x.goto_position(120, 200)
even in minjerk behavior.
Because the duration is used to calculate the moving_speed and the moving_speed do nothing in V-REP (impossible to use simxjointargetvelocity ??)
Curiosly, it works better running the scripts with the notebook of Ipython ( I really don’t know why). But the results are not really what is expected
it sounds like my computer is really too slow… right ?
This feature has been added to the 2.1.2 version of pypot, so just a few days ago.
If you look at the minimum jerk code, you will see it’s only setting the goal_position not changing the speed. My guess would be that you was still in dummy goto mode.
From what I can see from the plot, your connection with v-rep is extremely slow (there is like 3 update per seconds). V-rep can be really CPU consuming if you do not have good 3D driver.
Ok,with minjerk the overall movement is separated into small movement (goal_position) so it works on VREP.
I wonder about the time… I guess pypot time is about similar to real time but vrep time could be very different. In fact, the simulation is not in real time.
In goto method, is the duration scale on pypot time or vrep time ?
On the graph, you can see that this 5 seconds movement…
Just a new benchmark about V-REP simulation time. On my computer (notebook core i3), impossible to have real time simulation in V-REP, I guess not enough powerful for 3D calculation…
For info, on my laptop (really powerful i7 + good GPU) I’m only barely better than real time…
We should soon try to provide a simpler model of Poppy for V-REP by simplifying the mesh. This may hopefully improve the performance. You can also try to run V-REP in headless mode and see if it works better. Of course you’ll loose the visualisation…
I had already tried in headless mode, it is a little bit better but not a big difference. In your tutorial you wrote that it is possible to have position and orientation :
" track one or several Poppy’s parts 3D position and orientation (e.g. its head) "
But I don’t find the method get_object_orientation() ? (in the same way that you define the get_object position() ) ?
We are studying a project with poppy. We are already connected to poppy_humanoid on Vrep.
But we have a little problem.
We have made the HTTPServer and the get request works. We tried to make a post request to change the value of a motor but it failed.
We sended this request on navigator : http://127.0.0.1:19997/motor/head_y/register/goal_position/20
and the navigator response is : "Not found '/motor/head_y/register/goal_position/20"
Can you help us to resolve this problem?
Thanks