Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Notebooks Sessions 1 & 2 #41

Closed
wants to merge 30 commits into from
Closed

Notebooks Sessions 1 & 2 #41

wants to merge 30 commits into from

Conversation

Marsolo1
Copy link
Collaborator

Description

Work in progress
Porting the notebooks of the pyvrep-epuck sessions to the simulator.

Related Issue (if applicable)

#33

@Marsolo1 Marsolo1 self-assigned this Mar 12, 2024
@Marsolo1 Marsolo1 linked an issue Mar 12, 2024 that may be closed by this pull request
@Marsolo1 Marsolo1 changed the title [WIP] Notebooks & Tutorials Notebook Session 1 Mar 22, 2024
@Marsolo1 Marsolo1 added enhancement New feature or request and removed work in progress labels Mar 22, 2024
Copy link
Collaborator

@corentinlger corentinlger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey, the changes look good to me.

I just did a quick refactor on the session 1 notebook (and set the n_objects parameter to 1, but this will be fixed in another PR).

I was also wondering where we indicate to the user how to launch the server and the interface. But actually this might not be a problem if we use such a mechanism in the notebooks to run them : run_python_scripts_from_notebook_cells

Otherwise I followed the content of the notebooks and it looks nice !

@Marsolo1 Marsolo1 changed the title Notebook Session 1 Notebooks Sessions 1 & 2 Apr 8, 2024
Copy link
Collaborator

@clement-moulin-frier clement-moulin-frier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @Marsolo1 . For now I only went through session 1, works well :) A few comments to address below (you can start addressing them and we can discuss this afternoon comments that are not clear) :

  • I've started from the repo readme, trying to act as a student. Some issues in the readme
    • Interact with it from a web interface
      • Point to the interface markdown file
    • Tutorial section should be with "Interact with it from a jupyter notebook"
    • Explain where to go next at the end of web_interface_tutorial.md
      • quickstart
    • quickstart_tutorial.ipynb
      • At the end, point to the Tutorial section in the readme
  • session_1
    • Header paragraph should be either removed, or in a separated md file (just remove it for now, I'll provide course-specific instruction elsewhere)
    • Eventually, will we allow to run the server directly from the notebook?
    • python scripts/run_server.py --n_agents 1 --n_objects 1 give an error
      • Don't forget to address
    • First of all, we instantiate a controller (this will be done at the start of every notebook from now on)
      • Point to a tuto where the concept of controller is explained. If none, fill an issue
    • controller.run(threaded=True)
      • Precise it is normal if nothing move for now
      • We should explain somewhere than if we run from a notebook, we shouldn't do it from the interface
        • Is there a way to e.g. grey the Start button out in the interface?
    • Just before Making the agents move
      • Should relaunch controller.run(.)
    • You should now know how to set the attributes of agents.
      • Precise where it is explained
    • Not necessarily related to this PR, but interface update is at 1ms (should be 10 at least)
    • We should explain somewhere that the map is a torus. E.g. in the web interface markdown?
      • And recall it in this section, pointing to where it is explained
    • As shown in the quickstart tutorial
      • When referring to a tutorial, try to always make an hyperlink to it
      • Same for web_interface_tutorial.md just below. Please fix it everywhere
    • Whenever a proximeter detects an obstacle, a red point is shown on the agent.
      • Maybe recall that the visible checkbox should be activated
      • I am wondering if we should say to activate here, instead than at the beginning
    • Using the commands learned before, move the front of the robot close to a wall in the scene and stop it.
      • No wall for now ;) But we could use the object instead. In that case, make sure that max_object = 1 in the config (and explain at the start of the session what is the agent and the object)
    • As shown in the quickstart tutorial, the agents are equipped with proximity sensors, called proximeters that indicate the presence of an entity, if any, in a particular direction. There are two sensor, one on each side of the agent, and their field of view is determined by the proxs_cos_min attribu
      • No need to explain prox_cos_max at this stage I think (it would deserve more explanation to be fully understood, we'll do this later and maybe somewhere else). Instead, explain carefully that there are two sensors left and right, each corresponding to an hemi-field with is shown in light red in the interface
    • Noticed a bug:
      • If setting wheel activation outside the allowed range (e.g. to - 1), we get an error message. This is ok, but then commands from the notebook no longer work. Please fill an issue
    • Whenever a proximeter detects an obstacle, a red point is shown on the agent
      • Say that the opacity/size of the point depends on the distance to the object, so it might be hard to see if the object is close to the max distance
    • you need to re-execute the command left, right = epuck.prox_activations()
      • replace by left, right = agent.sensors()
      • Same in Q7
    • Q7
      • Replace "sum" by "max" (also in the code snippet), and precise how to compute the max of to value a and b (max(a, b))
    • Before logging out and leaving the class room, do not forget to save your work (see the note at the beginning of this notebook) and to send it to Laura and I by email.
      • Don't mention the email and the note (we'll remove it, see previous comment).

@Marsolo1
Copy link
Collaborator Author

I applied most of the comments, and added issues for what isn't done yet

@corentinlger
Copy link
Collaborator

Closed in development of dev branch.

@corentinlger corentinlger deleted the martial/notebook_sessions branch December 3, 2024 14:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Make a notebook tutorial inspired by session 1 of pyvrep-epuck
3 participants