Developer Meeting (July 5 2023): Webots Simulator #796
Replies: 8 comments 9 replies
-
The dev meeting is starting now :) |
Beta Was this translation helpful? Give feedback.
-
Hi @knmcguire ! thanks :) |
Beta Was this translation helpful? Give feedback.
-
The recording is online here! https://youtu.be/yneriZeUwqY |
Beta Was this translation helpful? Give feedback.
-
I am interested in following up on a question raised by Stephane Le Menec in the developer session, namely, calling the Crazyflie C firmware (instead of Python approximations to it) directly in Webots. @knmcguire, you mentioned that you might have some pointers for anyone interested in doing this. Although I generally prefer to prototype new ideas in Python, the advantages of working directly with the C firmware seem pretty obvious. Once one has gotten past the compile/linking issues (which I can probably figure out on my own), the next question would seem to be the most useful level of abstraction at which to call the firmware routines. Minimally I think one would want to call the actual PID controllers being used, but perhaps it would make sense to call the EKF as well (after simulating some noise in the sensors, as I'm currently doing in Python). Mainly I'm interested in whatever direction would most benefit the community, providing a way for C hackers to rapidly prototype-and-deploy new ideas. |
Beta Was this translation helpful? Give feedback.
-
... meanwhile I was able to run the Webots simulation pretty easily using your Python firmware bindings! In my fork of the firmware repo I added a little setup script and Makefile line to support the standard distutils install of cffirmware lib, so the controller script doesn't have to add the relative path to it. |
Beta Was this translation helpful? Give feedback.
-
Thanks, @knmcguire; I've create a pull request for this. On a related topic, do you think it would help if I did pull requests in the crazyflie-simulation and crazyflie-clients-python repos, to support flying the webots sim using the Python GUI? I think this could be a fun way to get people comfortable with the Crazyflie approach, before their first flight on an actual Crazyflie! |
Beta Was this translation helpful? Give feedback.
-
I'm not sure whether others have commented on this here, but I'm finding that Webots runs C several orders of magnitude faster than Python. Even after commenting-out all but my speed-reporting code [a simple print(1 / (system_time_curr - system_time_prev)), I found that the Python loop runs at around the same speed as the robot's timestep (32 msec => 33 Hz), whereas the C version with the same 32msec timestep runs at around 25kHz! I have to think that this huge difference in running speed would make a difference in the quality of the firmware simulation, but I wonder what others think. |
Beta Was this translation helpful? Give feedback.
-
@simondlevy I will start a new discussion to discuss the PRs as I feel that they need a bit more of a strategy first ;) It would be good to take a step back and look big picture first. There are some thoughts I have about the process as well, and it will have a better base for the PRs. I can also help you with setting up the PRs, that we don't have the issue that we can't see the right diffs (which we will not be able to merge anyway). So let's talk there! |
Beta Was this translation helpful? Give feedback.
-
The next developer meeting will be on the 5th of July, where we will talk about the Crazyflie model in the Webots simulator and give an hands-on demonstration.
Date: Wednesday, July 5th, 2023
Time: 3 PM Central European Summer Time (check your timezone)
Topic: Simulation in Webots
Hosts: @knmcguire and @ataffanel
Meeting link: Meeting is over! Check the recording here: https://youtu.be/yneriZeUwqY
Agenda
15:00 - 15:30: Presentation, hands-on and discussion
15:30 - 16:00: Generic support questions
Indicate with 👍 if you are planning to join!
Beta Was this translation helpful? Give feedback.
All reactions