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

Implementation of data exchange mechanisms between robot and supervisor using Serial Webots drivers #138

Merged
merged 62 commits into from
Jul 31, 2024

Conversation

akrambzeo
Copy link
Collaborator

Main functions:

Initialization of the serial communication:

Initialize the serial driver in the robot and in the supervisor.

Sensor data transmission:

Sensor data is sent from the robot to the supervisor, and the supervisor receives the data.

Motor control:

The Supervisor sends the specified motor control data to the robot.
The robot receives the motor control data and updates the motor speeds accordingly.

Reset Logic for Loss of Line Tracking:

Monitor sensor data for loss of line tracking.
Initialize the robot's position and orientation after a fixed number of steps without line detection.
Reset the robot to the standby state without recalibrating the motors and sensors.

Training or driving mode:

The mode (training or driving) is selected by pressing a button.
If no button is pressed within a specified time, the robot will default to the training mode.
Training or driving will not begin until the start/stop line is crossed.

@gabryelreyes gabryelreyes changed the base branch from main to base/RL July 18, 2024 15:59
@gabryelreyes gabryelreyes requested a review from hoeftjch July 18, 2024 15:59
@gabryelreyes gabryelreyes added the enhancement New feature or request label Jul 18, 2024
Copy link
Collaborator

@gabryelreyes gabryelreyes left a comment

Choose a reason for hiding this comment

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

Did not review content but structure and integrity of other apps.

  • All files under the path lib/APPReinforcementLearning/ and lib/HALReinforcementLearning/should be contained in a src folder. Check the structure in other apps.

webots/controllers/Supervisor/SerialMuxProt.py Outdated Show resolved Hide resolved
platformio.ini Outdated Show resolved Hide resolved
platformio.ini Outdated Show resolved Hide resolved
webots/controllers/Supervisor/Supervisor.py Outdated Show resolved Hide resolved
webots/protos/Supervisor.proto Outdated Show resolved Hide resolved
platformio.ini Outdated Show resolved Hide resolved
Copy link
Collaborator

@hoeftjch hoeftjch left a comment

Choose a reason for hiding this comment

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

Review of C++ part haltet for restructuring and fixing previous existing review comments

platformio.ini Outdated Show resolved Hide resolved
lib/APPReinforcementLearning/App.cpp Outdated Show resolved Hide resolved
lib/APPReinforcementLearning/ErrorState.cpp Outdated Show resolved Hide resolved
webots/controllers/RL_Supervisor/RL_Supervisor.py Outdated Show resolved Hide resolved
platformio.ini Show resolved Hide resolved
webots/controllers/RL_Supervisor/Serial_webots.py Outdated Show resolved Hide resolved
webots/controllers/RL_Supervisor/RL_Supervisor.py Outdated Show resolved Hide resolved
webots/controllers/RL_Supervisor/RL_Supervisor.py Outdated Show resolved Hide resolved
@gabryelreyes gabryelreyes requested a review from hoeftjch July 30, 2024 08:10
@gabryelreyes
Copy link
Collaborator

Please add your application to the README.md in the "The Applications" section

webots/controllers/RL_Supervisor/Serial_webots.py Outdated Show resolved Hide resolved
README.md Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
webots/controllers/RL_Supervisor/serial_webots.py Outdated Show resolved Hide resolved
Copy link
Collaborator

@gabryelreyes gabryelreyes left a comment

Choose a reason for hiding this comment

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

Looks good to me. @hoeftjch should make the final lreview and approval before merging.
Edit: found some more stuff

@gabryelreyes gabryelreyes self-requested a review July 30, 2024 18:45
lib/APPReinforcementLearning/src/App.cpp Outdated Show resolved Hide resolved
lib/APPReinforcementLearning/src/App.cpp Outdated Show resolved Hide resolved
lib/APPReinforcementLearning/src/App.cpp Outdated Show resolved Hide resolved
lib/APPReinforcementLearning/src/App.cpp Outdated Show resolved Hide resolved
lib/APPReinforcementLearning/src/App.cpp Show resolved Hide resolved
lib/APPReinforcementLearning/src/App.cpp Show resolved Hide resolved
lib/APPReinforcementLearning/src/App.cpp Outdated Show resolved Hide resolved
lib/APPReinforcementLearning/src/ReadyState.h Outdated Show resolved Hide resolved
Copy link
Collaborator

@hoeftjch hoeftjch left a comment

Choose a reason for hiding this comment

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

looks good to me now. Architecture changes in RL_Supervisor will likely be necessary for next updates.

@hoeftjch hoeftjch merged commit d2f00f1 into base/RL Jul 31, 2024
35 checks passed
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.

3 participants