Merge remote-tracking branch 'origin/main'
This commit is contained in:
@@ -8,6 +8,7 @@ public class Exercise {
|
|||||||
public final GesturePath leftPath;
|
public final GesturePath leftPath;
|
||||||
public final GesturePath rightPath;
|
public final GesturePath rightPath;
|
||||||
public final String name;
|
public final String name;
|
||||||
|
public final String shortDescription;
|
||||||
public final String description;
|
public final String description;
|
||||||
public final String imageUrl;
|
public final String imageUrl;
|
||||||
public final String videoUrl;
|
public final String videoUrl;
|
||||||
@@ -24,9 +25,10 @@ public class Exercise {
|
|||||||
* @param imageUrl The URL of the image.
|
* @param imageUrl The URL of the image.
|
||||||
* @param videoUrl The URL of the video.
|
* @param videoUrl The URL of the video.
|
||||||
*/
|
*/
|
||||||
public Exercise(EMuscleGroup muscleGroup, String name, String description, String imageUrl, String videoUrl, GesturePath leftPath, GesturePath rightPath, float exerciseTimeInSeconds) {
|
public Exercise(EMuscleGroup muscleGroup, String name,String shortDescription, String description, String imageUrl, String videoUrl, GesturePath leftPath, GesturePath rightPath, float exerciseTimeInSeconds) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.muscleGroup = muscleGroup;
|
this.muscleGroup = muscleGroup;
|
||||||
|
this.shortDescription = shortDescription;
|
||||||
this.description = description;
|
this.description = description;
|
||||||
this.leftPath = leftPath;
|
this.leftPath = leftPath;
|
||||||
this.rightPath = rightPath;
|
this.rightPath = rightPath;
|
||||||
|
@@ -21,10 +21,10 @@ public class ExerciseManager {
|
|||||||
private static final String PROPERTY_EXERCISE_DURATION = "duration";
|
private static final String PROPERTY_EXERCISE_DURATION = "duration";
|
||||||
private static final String PROPERTY_EXERCISE_ID = "exerciseId";
|
private static final String PROPERTY_EXERCISE_ID = "exerciseId";
|
||||||
private static final String PROPERTY_MUSCLE_GROUP = "muscleGroup";
|
private static final String PROPERTY_MUSCLE_GROUP = "muscleGroup";
|
||||||
private static final String PROPERTY_SHORT_DESC = "shortDescription";
|
|
||||||
private static final String PROPERTY_IMAGE_URL = "imageUrl";
|
private static final String PROPERTY_IMAGE_URL = "imageUrl";
|
||||||
private static final String PROPERTY_VIDEO_URL = "videoUrl";
|
private static final String PROPERTY_VIDEO_URL = "videoUrl";
|
||||||
private static final String PROPERTY_DESC = "description";
|
private static final String PROPERTY_DESC = "description";
|
||||||
|
private static final String PROPERTY_SHORT_DESC = "shortDescription";
|
||||||
private static final String PROPERTY_PATH = "path";
|
private static final String PROPERTY_PATH = "path";
|
||||||
private static final String PROPERTY_NAME = "name";
|
private static final String PROPERTY_NAME = "name";
|
||||||
|
|
||||||
@@ -34,7 +34,7 @@ public class ExerciseManager {
|
|||||||
public static final int SENSOR_COUNT = 2;
|
public static final int SENSOR_COUNT = 2;
|
||||||
|
|
||||||
private static final String[] REQUIRED_PROPERTIES = {
|
private static final String[] REQUIRED_PROPERTIES = {
|
||||||
PROPERTY_MUSCLE_GROUP, PROPERTY_DESC, PROPERTY_IMAGE_URL,
|
PROPERTY_MUSCLE_GROUP, PROPERTY_DESC,PROPERTY_SHORT_DESC, PROPERTY_IMAGE_URL,
|
||||||
PROPERTY_VIDEO_URL, PROPERTY_NAME, PROPERTY_PATH,
|
PROPERTY_VIDEO_URL, PROPERTY_NAME, PROPERTY_PATH,
|
||||||
PROPERTY_EXERCISE_DURATION, PROPERTY_EXERCISE_ID,
|
PROPERTY_EXERCISE_DURATION, PROPERTY_EXERCISE_ID,
|
||||||
PROPERTY_SHORT_DESC
|
PROPERTY_SHORT_DESC
|
||||||
@@ -112,6 +112,7 @@ public class ExerciseManager {
|
|||||||
EMuscleGroup.parse(content.get(PROPERTY_MUSCLE_GROUP).getAsString()),
|
EMuscleGroup.parse(content.get(PROPERTY_MUSCLE_GROUP).getAsString()),
|
||||||
content.get(PROPERTY_NAME).getAsString(),
|
content.get(PROPERTY_NAME).getAsString(),
|
||||||
content.get(PROPERTY_DESC).getAsString(),
|
content.get(PROPERTY_DESC).getAsString(),
|
||||||
|
content.get(PROPERTY_SHORT_DESC).getAsString(),
|
||||||
content.get(PROPERTY_IMAGE_URL).getAsString(),
|
content.get(PROPERTY_IMAGE_URL).getAsString(),
|
||||||
content.get(PROPERTY_VIDEO_URL).getAsString(),
|
content.get(PROPERTY_VIDEO_URL).getAsString(),
|
||||||
GesturePath.fromString(leftRightData[0]),
|
GesturePath.fromString(leftRightData[0]),
|
||||||
|
@@ -33,7 +33,12 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall
|
|||||||
private ExerciseStatusElement exerciseStatusElement;
|
private ExerciseStatusElement exerciseStatusElement;
|
||||||
private InputProcessor motionProcessor;
|
private InputProcessor motionProcessor;
|
||||||
private Exercise currentExercise;
|
private Exercise currentExercise;
|
||||||
|
|
||||||
|
// Exercise status element data
|
||||||
|
private TextView exerciseMuscleGroupTextView;
|
||||||
private TextView exerciseNameTextView;
|
private TextView exerciseNameTextView;
|
||||||
|
private TextView exerciseShortDescriptionTextView;
|
||||||
|
private TextView exerciseDescriptionTextView;
|
||||||
|
|
||||||
// Some nice little messages for the user
|
// Some nice little messages for the user
|
||||||
private static final String[] EXERCISE_NOT_FOUND_MESSAGES = new String[]{
|
private static final String[] EXERCISE_NOT_FOUND_MESSAGES = new String[]{
|
||||||
@@ -58,7 +63,11 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall
|
|||||||
|
|
||||||
// Remove the ugly ass bar on top of the view
|
// Remove the ugly ass bar on top of the view
|
||||||
setSpeechBarDisplayStrategy(SpeechBarDisplayStrategy.IMMERSIVE);
|
setSpeechBarDisplayStrategy(SpeechBarDisplayStrategy.IMMERSIVE);
|
||||||
|
|
||||||
|
// Fill empty objects with exercise data
|
||||||
this.exerciseNameTextView = findViewById(R.id.textViewFitnessTitle);
|
this.exerciseNameTextView = findViewById(R.id.textViewFitnessTitle);
|
||||||
|
this.exerciseDescriptionTextView = findViewById(R.id.textViewDialogDescription);
|
||||||
|
this.exerciseShortDescriptionTextView = findViewById(R.id.textViewFitnessShortDescription);
|
||||||
|
|
||||||
// Find the VideoView by its ID
|
// Find the VideoView by its ID
|
||||||
VideoView videoView = findViewById(R.id.videoView);
|
VideoView videoView = findViewById(R.id.videoView);
|
||||||
@@ -128,6 +137,8 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall
|
|||||||
onFailedFetch.handle(null);
|
onFailedFetch.handle(null);
|
||||||
} else {
|
} else {
|
||||||
exerciseNameTextView.setText(exercise.name);
|
exerciseNameTextView.setText(exercise.name);
|
||||||
|
exerciseShortDescriptionTextView.setText(exercise.shortDescription);
|
||||||
|
exerciseDescriptionTextView.setText(exercise.description);
|
||||||
onSuccessfulFetch.handle(exercise);
|
onSuccessfulFetch.handle(exercise);
|
||||||
}
|
}
|
||||||
})).start();
|
})).start();
|
||||||
|
@@ -84,7 +84,7 @@
|
|||||||
android:layout_gravity="center_horizontal">
|
android:layout_gravity="center_horizontal">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/textViewFitnessDescription"
|
android:id="@+id/textViewFitnessShortDescription"
|
||||||
style="@style/TextStyle"
|
style="@style/TextStyle"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
|
@@ -33,7 +33,7 @@
|
|||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/textViewDialog"
|
android:id="@+id/textViewDialogDescription"
|
||||||
style="@style/TextStyle"
|
style="@style/TextStyle"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
275
code/src/Fitbot/app/src/main/res/raw/armcircle.qianim
Normal file
275
code/src/Fitbot/app/src/main/res/raw/armcircle.qianim
Normal file
@@ -0,0 +1,275 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Animation xmlns:editor="http://www.ald.softbankrobotics.com/animation/editor" typeVersion="2.0" editor:fps="25">
|
||||||
|
<ActuatorCurve fps="25" actuator="HeadYaw" mute="false" unit="degree">
|
||||||
|
<Key value="-0.439454377" frame="101">
|
||||||
|
<Tangent side="right" abscissaParam="32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="-0.439454377" frame="199">
|
||||||
|
<Tangent side="left" abscissaParam="-32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="-0.439454377" frame="299">
|
||||||
|
<Tangent side="left" abscissaParam="-33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="-0.439454377" frame="401">
|
||||||
|
<Tangent side="left" abscissaParam="-34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
</ActuatorCurve>
|
||||||
|
<ActuatorCurve fps="25" actuator="HeadPitch" mute="false" unit="degree">
|
||||||
|
<Key value="-12.1289139" frame="101">
|
||||||
|
<Tangent side="right" abscissaParam="32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="-12.1289139" frame="199">
|
||||||
|
<Tangent side="left" abscissaParam="-32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="-12.1289139" frame="299">
|
||||||
|
<Tangent side="left" abscissaParam="-33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="-12.1289139" frame="401">
|
||||||
|
<Tangent side="left" abscissaParam="-34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
</ActuatorCurve>
|
||||||
|
<ActuatorCurve fps="25" actuator="LShoulderPitch" mute="false" unit="degree">
|
||||||
|
<Key value="-119.500008" frame="101">
|
||||||
|
<Tangent side="right" abscissaParam="32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="119.500008" frame="199">
|
||||||
|
<Tangent side="left" abscissaParam="-32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="119.500008" frame="299">
|
||||||
|
<Tangent side="left" abscissaParam="-33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="119.500008" frame="401">
|
||||||
|
<Tangent side="left" abscissaParam="-34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
</ActuatorCurve>
|
||||||
|
<ActuatorCurve fps="25" actuator="LShoulderRoll" mute="false" unit="degree">
|
||||||
|
<Key value="6.67969275" frame="101">
|
||||||
|
<Tangent side="right" abscissaParam="32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="6.67969275" frame="199">
|
||||||
|
<Tangent side="left" abscissaParam="-32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="6.67969275" frame="299">
|
||||||
|
<Tangent side="left" abscissaParam="-33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="6.67969275" frame="401">
|
||||||
|
<Tangent side="left" abscissaParam="-34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
</ActuatorCurve>
|
||||||
|
<ActuatorCurve fps="25" actuator="LElbowYaw" mute="false" unit="degree">
|
||||||
|
<Key value="-69.7851486" frame="101">
|
||||||
|
<Tangent side="right" abscissaParam="32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="-69.7851486" frame="199">
|
||||||
|
<Tangent side="left" abscissaParam="-32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="-69.7851486" frame="299">
|
||||||
|
<Tangent side="left" abscissaParam="-33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="-69.7851486" frame="401">
|
||||||
|
<Tangent side="left" abscissaParam="-34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
</ActuatorCurve>
|
||||||
|
<ActuatorCurve fps="25" actuator="LElbowRoll" mute="false" unit="degree">
|
||||||
|
<Key value="-29.7070332" frame="101">
|
||||||
|
<Tangent side="right" abscissaParam="32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="-29.7070332" frame="199">
|
||||||
|
<Tangent side="left" abscissaParam="-32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="-29.7070332" frame="299">
|
||||||
|
<Tangent side="left" abscissaParam="-33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="-29.7070332" frame="401">
|
||||||
|
<Tangent side="left" abscissaParam="-34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
</ActuatorCurve>
|
||||||
|
<ActuatorCurve fps="25" actuator="LWristYaw" mute="false" unit="degree">
|
||||||
|
<Key value="-1.76023543" frame="101">
|
||||||
|
<Tangent side="right" abscissaParam="32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="-1.76023543" frame="199">
|
||||||
|
<Tangent side="left" abscissaParam="-32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="-1.76023543" frame="299">
|
||||||
|
<Tangent side="left" abscissaParam="-33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="-1.76023543" frame="401">
|
||||||
|
<Tangent side="left" abscissaParam="-34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
</ActuatorCurve>
|
||||||
|
<ActuatorCurve fps="25" actuator="LHand" mute="false" unit="dimensionless">
|
||||||
|
<Key value="0.589630966" frame="101">
|
||||||
|
<Tangent side="right" abscissaParam="32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="0.589630966" frame="199">
|
||||||
|
<Tangent side="left" abscissaParam="-32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="0.589630966" frame="299">
|
||||||
|
<Tangent side="left" abscissaParam="-33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="0.589630966" frame="401">
|
||||||
|
<Tangent side="left" abscissaParam="-34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
</ActuatorCurve>
|
||||||
|
<ActuatorCurve fps="25" actuator="HipRoll" mute="false" unit="degree">
|
||||||
|
<Key value="-0.26367262" frame="101">
|
||||||
|
<Tangent side="right" abscissaParam="32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="-0.26367262" frame="199">
|
||||||
|
<Tangent side="left" abscissaParam="-32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="-0.26367262" frame="299">
|
||||||
|
<Tangent side="left" abscissaParam="-33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="-0.26367262" frame="401">
|
||||||
|
<Tangent side="left" abscissaParam="-34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
</ActuatorCurve>
|
||||||
|
<ActuatorCurve fps="25" actuator="HipPitch" mute="false" unit="degree">
|
||||||
|
<Key value="-1.49414492" frame="101">
|
||||||
|
<Tangent side="right" abscissaParam="32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="-1.49414492" frame="199">
|
||||||
|
<Tangent side="left" abscissaParam="-32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="-1.49414492" frame="299">
|
||||||
|
<Tangent side="left" abscissaParam="-33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="-1.49414492" frame="401">
|
||||||
|
<Tangent side="left" abscissaParam="-34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
</ActuatorCurve>
|
||||||
|
<ActuatorCurve fps="25" actuator="KneePitch" mute="false" unit="degree">
|
||||||
|
<Key value="0" frame="101">
|
||||||
|
<Tangent side="right" abscissaParam="32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="0" frame="199">
|
||||||
|
<Tangent side="left" abscissaParam="-32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="0" frame="299">
|
||||||
|
<Tangent side="left" abscissaParam="-33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="0" frame="401">
|
||||||
|
<Tangent side="left" abscissaParam="-34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
</ActuatorCurve>
|
||||||
|
<ActuatorCurve fps="25" actuator="RShoulderPitch" mute="false" unit="degree">
|
||||||
|
<Key value="119.500008" frame="101">
|
||||||
|
<Tangent side="right" abscissaParam="32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="-119.500008" frame="199">
|
||||||
|
<Tangent side="left" abscissaParam="-32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="112.970039" frame="299">
|
||||||
|
<Tangent side="left" abscissaParam="-33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="112.970039" frame="401">
|
||||||
|
<Tangent side="left" abscissaParam="-34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
</ActuatorCurve>
|
||||||
|
<ActuatorCurve fps="25" actuator="RShoulderRoll" mute="false" unit="degree">
|
||||||
|
<Key value="-0.5" frame="101">
|
||||||
|
<Tangent side="right" abscissaParam="32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="-0.5" frame="199">
|
||||||
|
<Tangent side="left" abscissaParam="-32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="-0.5" frame="299">
|
||||||
|
<Tangent side="left" abscissaParam="-33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="-0.5" frame="401">
|
||||||
|
<Tangent side="left" abscissaParam="-34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
</ActuatorCurve>
|
||||||
|
<ActuatorCurve fps="25" actuator="RElbowYaw" mute="false" unit="degree">
|
||||||
|
<Key value="70.2246094" frame="101">
|
||||||
|
<Tangent side="right" abscissaParam="32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="70.2246094" frame="199">
|
||||||
|
<Tangent side="left" abscissaParam="-32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="70.2246094" frame="299">
|
||||||
|
<Tangent side="left" abscissaParam="-33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="70.2246094" frame="401">
|
||||||
|
<Tangent side="left" abscissaParam="-34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
</ActuatorCurve>
|
||||||
|
<ActuatorCurve fps="25" actuator="RElbowRoll" mute="false" unit="degree">
|
||||||
|
<Key value="29.7070332" frame="101">
|
||||||
|
<Tangent side="right" abscissaParam="32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="29.7070332" frame="199">
|
||||||
|
<Tangent side="left" abscissaParam="-32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="29.7070332" frame="299">
|
||||||
|
<Tangent side="left" abscissaParam="-33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="29.7070332" frame="401">
|
||||||
|
<Tangent side="left" abscissaParam="-34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
</ActuatorCurve>
|
||||||
|
<ActuatorCurve fps="25" actuator="RWristYaw" mute="false" unit="degree">
|
||||||
|
<Key value="1.57964516" frame="101">
|
||||||
|
<Tangent side="right" abscissaParam="32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="1.57964516" frame="199">
|
||||||
|
<Tangent side="left" abscissaParam="-32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="1.57964516" frame="299">
|
||||||
|
<Tangent side="left" abscissaParam="-33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="1.57964516" frame="401">
|
||||||
|
<Tangent side="left" abscissaParam="-34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
</ActuatorCurve>
|
||||||
|
<ActuatorCurve fps="25" actuator="RHand" mute="false" unit="dimensionless">
|
||||||
|
<Key value="0.588752136" frame="101">
|
||||||
|
<Tangent side="right" abscissaParam="32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="0.588752136" frame="199">
|
||||||
|
<Tangent side="left" abscissaParam="-32.6666667" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="0.588752136" frame="299">
|
||||||
|
<Tangent side="left" abscissaParam="-33.3333333" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
<Tangent side="right" abscissaParam="34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
<Key value="0.588752136" frame="401">
|
||||||
|
<Tangent side="left" abscissaParam="-34" ordinateParam="0" editor:interpType="bezier_auto"/>
|
||||||
|
</Key>
|
||||||
|
</ActuatorCurve>
|
||||||
|
</Animation>
|
@@ -20,5 +20,9 @@ We chose this pcb because its really small and it has a socket for a sensor and
|
|||||||
We are going to rotational data from the sensor and use that to give feedback to the user based on how well they did the exercise.
|
We are going to rotational data from the sensor and use that to give feedback to the user based on how well they did the exercise.
|
||||||

|

|
||||||
|
|
||||||
|
## How can i program this ESP?
|
||||||
|
|
||||||
|
To program this you need to use the Arduino IDE. You need to install the ESP8266 board in the board manager. You need to go to File -> prefrences -> additional board manager url's. Then you need to add this link `https://arduino.esp8266.com/stable/package_esp8266com_index.json`. Then you can find the LOLIN(WEMOS) D1 mini lite. Thats the board you need to select. When compiling you will see a lot of warnings but you can ignore them.
|
||||||
|
|
||||||
### Sources
|
### Sources
|
||||||
* https://github.com/Sorakage033/SlimeVR-CheeseCake
|
* https://github.com/Sorakage033/SlimeVR-CheeseCake
|
Reference in New Issue
Block a user