test
Dependencies: mbed ros_lib_kinetic nhk19mr2_can_info splitData SerialHalfDuplex_HM
Walk/change_walk.cpp
- Committer:
- shimizuta
- Date:
- 2019-03-07
- Revision:
- 44:4aac39b8670b
- Parent:
- 42:982064594ba6
- Child:
- 45:0654364226c9
File content as of revision 44:4aac39b8670b:
/*walk設定用関数. param walk:結果を入れる箱 各パラメータの意味はOrbitクラスの基底クラスまで遡る必要があるので注意。 */ #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); }