Skip to content
Merged
2 changes: 2 additions & 0 deletions labs/lab_closedloop/sections/1_openloopcontrol.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,4 +54,6 @@ Choose some target points and try to reach them. Then:
#runsofa-button(file="assets/labs/lab_closedloop/lab_closedloop.py")
::::

#solution(file="assets/solutions/lab_closedloop/answers.md", id="open-loop")

:::::
2 changes: 2 additions & 0 deletions labs/lab_closedloop/sections/2_proportionalcontroller.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ This controller is composed of a feedforward $q_{user}$ and a feedback part $k_p
#open-button(file="assets/labs/lab_closedloop/myControl.py")

#runsofa-button(file="assets/labs/lab_closedloop/lab_closedloop.py")

#solution(file="assets/solutions/lab_closedloop/answers.md", id="proportional")
::::

:::::
2 changes: 2 additions & 0 deletions labs/lab_closedloop/sections/3_integralcontroller.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ admissible value for the robot otherwise the robot might go crazy.
#open-button(file="assets/labs/lab_closedloop/myControl.py")

#runsofa-button(file="assets/labs/lab_closedloop/lab_closedloop.py")

#solution(file="assets/solutions/lab_closedloop/answers.md", id="integral")
::::

:::::
2 changes: 2 additions & 0 deletions labs/lab_closedloop/sections/4_improvecontroller.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,7 @@ from the effector position.
#open-button(file="assets/labs/lab_closedloop/myControl.py")

#runsofa-button(file="assets/labs/lab_closedloop/lab_closedloop.py")

#solution(file="assets/solutions/lab_closedloop/answers.md", id="improvement")
::::
:::::
4 changes: 4 additions & 0 deletions labs/lab_design/lab_design.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,10 @@ Emio's legs (and gripper) were printed using TPU [filament](https://shop3d.ca/co
#include(assets/labs/lab_design/sections/4_iterations.md)
#include(assets/labs/lab_design/sections/5_deformablegripper.md)

:::: solution labdesign
#include(assets/solutions/lab_design/answers.md)
::::

::: highlight
#icon("user-circle") **Authors: [Quentin Peyron](https://www.linkedin.com/in/quentin-peyron-22924683/?originalSubdomain=fr) & Compliance Robotics**

Expand Down
2 changes: 2 additions & 0 deletions labs/lab_inversekinematics/sections/2_kinematics.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,5 +142,7 @@ Also observe if and when some combinations of legs and connector configuration l
2. What is the most *stable* configuration of the robot you have found (i.e. on which there is no mechanical instabilities)?

#runsofa-button(file="assets/labs/lab_inversekinematics/lab_inversekinematics.py", pyargs=["--legsName", "blueleg-direct", "--legsModel", "beam", "--legsPositionOnMotor", "exo1motor1orientation", "exo1motor2orientation", "exo1motor3orientation", "exo1motor4orientation", "--centerPartName", "exo1centerpart"])

#solution(file="assets/solutions/lab_inversekinematics/answers.md", id="exercise-1")
::::::
:::::::
2 changes: 2 additions & 0 deletions labs/lab_inversekinematics/sections/3_inversekinematics.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,5 +127,7 @@ you change the file `myQP_lab_inversekinematics.py`, you will need to close and

#runsofa-button(file="assets/labs/lab_inversekinematics/lab_inversekinematics.py", pyargs=["--legsName", "blueleg", "--legsModel", "beam", "--legsPositionOnMotor", "counterclockwisedown", "clockwisedown", "counterclockwisedown", "clockwisedown", "--centerPartName", "bluepart"])

#solution(file="assets/solutions/lab_inversekinematics/answers.md", id="exercise-2")

::::
:::::
1 change: 1 addition & 0 deletions labs/lab_inversekinematics/sections/4_modelscomparison.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,5 +36,6 @@ between the two green and red spheres (you can also use the *Plotting* tab).

#runsofa-button(file="assets/labs/lab_inversekinematics/lab_inversekinematics.py", pyargs=["--legsName", "whiteleg", "--legsModel", "exo3model", "--legsPositionOnMotor", "counterclockwisedown", "clockwisedown", "counterclockwisedown", "clockwisedown", "--centerPartName", "bluepart"])

#solution(file="assets/solutions/lab_inversekinematics/answers.md", id="exercise-3")
:::::
::::::
2 changes: 2 additions & 0 deletions labs/lab_models/sections/2_beammodels.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,5 +96,7 @@ the values, and save the changes (ctrl + s).

#runsofa-button(file="assets/labs/lab_models/lab_models.py", pyargs=["blueleg", "modelsexo1"])

#solution(file="assets/solutions/lab_models/answers.md", id="parameters")

:::::
::::::
2 changes: 2 additions & 0 deletions labs/lab_models/sections/4_comparison.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ predict the behavior of a continuum robot, especially when the model is used for
:::
::::


:::: quiz
**Question 2:**
::: question What are the disadvantages of using beam models, compared to volume models?
Expand Down Expand Up @@ -49,4 +50,5 @@ for global structural analyses, contact management, or multi-physics coupling wi
:::
::::

#solution(file="assets/solutions/lab_models/answers.md", id="quiz")
::::::
8 changes: 8 additions & 0 deletions labs/project_pickandplace/project_pickandplace.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,14 @@ including the soft gripper's 4th DoF. This will involve picking up the cube from

#runsofa-button(file="assets/labs/project_pickandplace/project_pickandplace.py")

::: solution pickandplace

You can import the following program into Sofa Robotics.

#open-button(file="assets/solutions/project_pickandplace")

:::

::::
:::::

Expand Down
5 changes: 5 additions & 0 deletions solutions/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Ignore everything in this directory
*

# Except this file
!.gitignore
Loading