高速歩行->肩で息をする

高速歩行(main以降はモーション再生プログラムと同じ)

/* 4足歩行ロボット 高速歩行->肩で息をする(four_s06.c) 2003/09/25(Thu) */ #include<3664.h> #define MOTOR_NUM 12 /* モータの数 */ #define MOTION_HOME 2 /* ホームポジション */ #define MOTION_NUM00 4 /* モーション00のモーション数 */ #define MOTION_NUM01 2 /* モーション01のモーション数 */ #define MIN_P 600 #define PARA 20 /* パルスを MIN_P+PARA*データ で計算 */ unsigned char n=0; /* PWM出力時に足を指定するためのフラグ */ unsigned char motn=0; /* モーション指定用フラグ */ unsigned char ref=0; /* 繰り返し数カウント用 */ unsigned char exec=0; /* モーションをどこまで実行したかカウント */ unsigned char speed=0; /* どこまで補間したかカウント */ unsigned char motion_num=0; /* モーション数を格納 */ long nun=0; /* 何もしないためのカウンタ */ unsigned int grbm[MOTOR_NUM]; unsigned char st[MOTOR_NUM]={90,90,90,90,90,90,90,90,90,90,90,90}; /* 初期値 */ int rc_home[MOTOR_NUM][MOTION_HOME]={ {90,90},{150,150},{120,120},{90,90},{150,150},{120,120}, {90,90},{30,30},{60,60},{90,90},{30,30},{60,60}}; /* ホームポジション */ int rc00[MOTOR_NUM][MOTION_NUM00]={ {90,65,90,115},{120,150,150,150},{120,120,120,120}, {90,115,90,65},{150,150,120,150},{120,120,120,120}, {90,65,90,115},{30,30,60,30},{60,60,60,60}, {90,115,90,65},{60,30,30,30},{60,60,60,60}}; /* 歩く */ int rc01[MOTOR_NUM][MOTION_NUM01]={ {90,90},{150,130},{120,140},{90,90},{150,130},{120,140}, {90,90},{30,50},{60,40},{90,90},{30,50},{60,40}}; /* 肩で息をする */ unsigned char speed_home[MOTION_HOME]={3,3}; unsigned char speed_d00[MOTION_NUM00]={3,3,3,3}; unsigned char speed_d01[MOTION_NUM01]={6,6}; /* 1動作で何回割り込みをするか */ unsigned char exec_d[4]={2,4,2,2}; /* モーションをどこまで実行するか(データ数で) */ unsigned char ref_d[4]={10,20,5,10}; /* モーションを何回繰り返すか */

高速歩行

4足歩行ロボットの目次へ

トップページへ

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送