-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Rover is getting stuck repeatedly or the quadcopter flips #1081
Comments
In the meanwhile, are there any quick patches or workarounds for this? EDIT: Also, can anybody let me know the root cause of it? If my intuition is right, I can fix it. I remember trying something in ODE in Windows to replace linux specific ROS Gazebo before. |
I am having trouble installing the Python dependencies on Windows 10. Which version of Python/pip do your use? |
Because of missing Python dependencies, the drone doesn't fly and remains on the top of the Pioneer robot. However, when I change the Note that I will be off next week, so my colleagues will follow-up on this issue. |
@omichel I am using the following: Python 3.7.5 (tags/v3.7.5:5c02a39a0b, Oct 15 2019, 00:11:34) [MSC v.1916 64 bit (AMD64)] on win32 pip 19.3.1 from c:\users\prasad\appdata\local\programs\python\python37\lib\site- |
Also, regarding the rover, I am not sure what the issue is. If I set TIME_STEP to 64, it follows the line (even for like 8 hours. I tested all these using Fast Mode. Thanks to Webots). But, when I set to something like TIME_STEP = 4 or so, it suddenly veers off the track after a while. I am not sure if quadcopter physics is interfering. Plus, I keep getting the following warning:
|
Just a note. I am developing this repository being here in Bangalore. After 3 weeks or so, I may be moving to a different country and it may not be possible for me to devote time to Webots. If anybody could give me hints as to what could be done (at least temporarily), I would be happy to fix this bug myself and share my repository for review (so as to include in official examples). |
@omichel I am able to replicate the issue (just by following the steps I listed in my bug report). Thanks for looking into the issue though. Please see the video (this time I figured out that I can record video within Webots. That is an awesome feature! 🙂 ). |
I believe one of these is happening. Please feel free to correct me if I am wrong.
But, how can I start digging into the Webots source code? |
I allow myself to follow up this topic, as @omichel is off this week. I looked quickly at your issue, I can run your simulation in my environment.
Let me also answer your misc questions:
Webots and Gazebo are not linked at all in any way :-)
The wheel slip is managed by ODE.
Maybe. But I would suspect first your Pioneer controller. Could you simplify it? (removing the cv2 code for example)
You can build Webots from sources using these instructions: https://github.com/cyberbotics/webots/wiki#installation-of-the-webots-development-environment I would recommend you to open more issues, but to reduce their focus and simplify them at best first ;-) |
Moreover, to have a similar setup than mavic_2_pro.wbt, you really need to copy the WorldInfo fields (basicTimeStep, and damping) from there: I just observed it's not the case on your repo@master.. |
@fabienrohrer Thanks for looking into this. I was testing teleoperation long ago. That is why I have one variable
My controller just follows the line. I would have been happy if the robot were to have stopped. However, as seen in the video, the wheels rotate (which indicates that my controller works) and the robot does not move (which means that ODE integration is failing somewhere) My Pioneer controller code just sets the velocities of the motors. I can create another repo to test it. However, I would request you to let me know all those steps that you need me to test. When I test quadcopter alone or rover alone, they both work in independent simulations. However, when I try to test both, there will be some physics problem.
Thanks for looking into my code @fabienrohrer . However, I am trying to simulate realistic physics without any additional external parameters (at least for now). |
Also, when debugging, I am seeing that the camera is going gray (exactly at the place where the rover is getting stuck and the wheels are rotating) for no reason in certain locations in image. I am not sure if my computer Lenovo Y50-70 is not able to run Webots so fast. But, I was able to run a full fledged ROS Gazebo simulation that I built (as mentioned in research). EDIT: In that case, I would be happier if the GUI is not realtime. But, the fidelity of simulation has to be preserved. I am not sure what is causing this. |
As per discussion with @fabienrohrer , I will be trying a workaround for now. I will likely push a workaround by day after tomorrow. However, the workaround solution may not directly resolve this bug. To all future readers, please note: This is the main reason why I like Webots. It makes development so much easier. Sure, there may be bugs. When I wrote my custom ROS Gazebo simulator, I did not face any bugs like this. That was awesome too. But, I had to install OS about 15 times during crashes for ROS and Gazebo! Webots is cross platform + there is active development. |
Thank you for the feedback.
For the log too, this bug is because the rover camera is defined inside the robot shape. Adding a translation offset solves the issue (typically by setting |
I just archived my repository as I could not work with this bug. I failed to find any production-ready workaround. Link: https://github.com/PrasadNR/Webots-Quadcopter-Python-SITL From README
|
Thank you for the feedback, and sorry to read this. I think that these issues could be fixed as we have a working C program doing this released in production. I hope you've not done with Webots ;-) |
Describe the Bug
I have been working on Webots to get my object tracking drone up and running. Link: https://github.com/PrasadNR/Webots-Quadcopter-Python-SITL . However, when the simulation time step in WorldInfo is small, the rover gets stuck. If it is large, the quadcopter flips. If I simulate quadcopter and rover separately, they both work properly in independent simulations. However, I am not able to get both of them running.
Steps to Reproduce
WorldInfo
->basicTimeStep
to 8Expected behavior
Rover should not get stuck and the quadcopter should not flip. The behaviour has to be graceful.
System
Additional context
I have attached the video.
roverStuck.zip
P.S.: I have discussed this with @omichel .
The text was updated successfully, but these errors were encountered: