test

Dependencies:   mbed ros_lib_kinetic nhk19mr2_can_info splitData SerialHalfDuplex_HM

Walk/change_walk.cpp

Committer:
shimizuta
Date:
2019-03-05
Revision:
42:982064594ba6
Parent:
39:87dcdff27797
Child:
44:4aac39b8670b

File content as of revision 42:982064594ba6:

#include "change_walk.h"
void SetOneLegStandParam(Walk &walk, int legnum, float x_m, float y_m, float time_s)
{
    Orbit freeline(FREELINES);
    LineParam line[]{
        {.time_s = 0, .x_m = x_m, .y_m = y_m, .is_point_to_point = 0},
        {.time_s = time_s, .x_m = x_m, .y_m = y_m, .is_point_to_point = 0},
    };
    freeline.SetFreeLinesParam(line, sizeof(line)/sizeof(line[0]));
    walk.orbit[legnum].Copy(freeline);
}
void SetOneLegTriangleParam(Walk &walk, int legnum, float offset_x_m, float offset_y_m, float stride_m, float height_m, float buffer_height_m,
                            float stridetime_s, float toptime_s, float buffer_time_s)
{
    Orbit triangle(TRIANGLE);
    triangle.SetTriangleParam(offset_x_m, offset_y_m, stride_m, height_m, buffer_height_m,
                              stridetime_s, toptime_s, buffer_time_s);
    walk.orbit[legnum].Copy(triangle);
}

void SetOneLegFourPointParam(Walk &walk, int legnum, float offset_x_m, float offset_y_m, float stride_m, float height_m, float buffer_height_m,
                            float stridetime_s, float toptime_s, float buffer_time_s)
{
    Orbit four(FOURPOINT);
    four.SetFourPointParam(offset_x_m, offset_y_m, stride_m, height_m, buffer_height_m,
                              stridetime_s, toptime_s, buffer_time_s);
    walk.orbit[legnum].Copy(four);
}
void SetOneLegFreeLinesParam(Walk &walk, int legnum, LineParam lineparams[], int point_num)
{
    Orbit freeline(FREELINES);
    freeline.SetFreeLinesParam(lineparams, point_num);
    walk.orbit[legnum].Copy(freeline);
}