Browse Source

【编译通过】刀具步进距离改成0.1mm,车速增加了向后拨SA两倍速

master
Lizongdi 4 days ago
parent
commit
4305d7e895
  1. 4
      diaoerqiege/BHBF_Robot_Lifting_Lug/.settings/language.settings.xml
  2. 1
      diaoerqiege/BHBF_Robot_Lifting_Lug/Core/Inc/FSM.h
  3. 1
      diaoerqiege/BHBF_Robot_Lifting_Lug/Core/Inc/robot_state.h
  4. 5
      diaoerqiege/BHBF_Robot_Lifting_Lug/Core/Src/FSM.c
  5. 94
      diaoerqiege/BHBF_Robot_Lifting_Lug/Core/Src/robot_state.c
  6. 2
      diaoerqiege/diaoerqige_V1.0/app/src/main/res/layout/activity_polish.xml

4
diaoerqiege/BHBF_Robot_Lifting_Lug/.settings/language.settings.xml

@ -5,7 +5,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1176489531039869698" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true"> <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1285086684231165940" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/> <language-scope id="org.eclipse.cdt.core.g++"/>
</provider> </provider>
@ -16,7 +16,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1176489531039869698" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true"> <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1285086684231165940" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/> <language-scope id="org.eclipse.cdt.core.g++"/>
</provider> </provider>

1
diaoerqiege/BHBF_Robot_Lifting_Lug/Core/Inc/FSM.h

@ -15,6 +15,7 @@ typedef enum _MoveSTATE_t
Move_HALT=0, Move_HALT=0,
Manual_State, Manual_State,
low_Speed_Manual_State, low_Speed_Manual_State,
high_Speed_Manual_State,
AUTO_FORWARD, AUTO_FORWARD,
AUTO_BACKWARD AUTO_BACKWARD
} MoveSTATE_t; } MoveSTATE_t;

1
diaoerqiege/BHBF_Robot_Lifting_Lug/Core/Inc/robot_state.h

@ -17,6 +17,7 @@ extern double Act_Speed;
// ********机器人本体*********** // ********机器人本体***********
extern void Manual_State_Do(void); extern void Manual_State_Do(void);
extern void low_Speed_Manual_State_Do(void); extern void low_Speed_Manual_State_Do(void);
extern void high_Speed_Manual_State_Do(void);
extern void HALT_State_Do(void); extern void HALT_State_Do(void);
extern void auto_forward_state_do(void); extern void auto_forward_state_do(void);
extern void auto_backward_state_do(void); extern void auto_backward_state_do(void);

5
diaoerqiege/BHBF_Robot_Lifting_Lug/Core/Src/FSM.c

@ -35,6 +35,7 @@ transition_t MoveTransitions[] =
{ Move_HALT, HALT_State_Do }, { Move_HALT, HALT_State_Do },
{ Manual_State, Manual_State_Do }, { Manual_State, Manual_State_Do },
{ low_Speed_Manual_State, low_Speed_Manual_State_Do}, { low_Speed_Manual_State, low_Speed_Manual_State_Do},
{ high_Speed_Manual_State, high_Speed_Manual_State_Do},
{ AUTO_FORWARD, auto_forward_state_do}, { AUTO_FORWARD, auto_forward_state_do},
{ AUTO_BACKWARD, auto_backward_state_do} { AUTO_BACKWARD, auto_backward_state_do}
}; };
@ -583,6 +584,10 @@ void Robot_Control()
{ {
CurrentMoveState = low_Speed_Manual_State; CurrentMoveState = low_Speed_Manual_State;
} }
else
{
CurrentMoveState = high_Speed_Manual_State;
}
} }

94
diaoerqiege/BHBF_Robot_Lifting_Lug/Core/Src/robot_state.c

@ -244,6 +244,98 @@ void low_Speed_Manual_State_Do(void)
GV.RightBackMotor.Target_Velcity = R2_Speed_Con * Ref_Speed; GV.RightBackMotor.Target_Velcity = R2_Speed_Con * Ref_Speed;
} }
void high_Speed_Manual_State_Do(void)
{
double Rocker_Range=2000; //摇杆范围
double X_Value_1=0;
double Y_Value_1=0;
double X_Value_2=0;
double Y_Value_2=0;
//右前电机
double R1_Speed_Con=0;
//左前电机
double L1_Speed_Con=0;
//右后电机
double R2_Speed_Con=0;
//左后电机
double L2_Speed_Con=0;
//CH0_RY_H [-1000,1000]
X_Value_1=GV.MK32_Key.CH3_LY_H+0.00001;
//CH1_RY_V [-1000,1000]
Y_Value_1=GV.MK32_Key.CH2_LY_V+0.00001;
//归一化
X_Value_2=X_Value_1 / Rocker_Range;
Y_Value_2=Y_Value_1 / Rocker_Range;
//摇杆角度
double Rocker_angle = atan(Y_Value_2 / X_Value_2);
if((GV.MK32_Key.CH10_LD1 >= -1000) && (GV.MK32_Key.CH10_LD1 <= 1000))
{
speedAdj = -995.0f + (GV.MK32_Key.CH10_LD1 + 1000.0f) * 0.005f;
Speed_Ctrl = ((speedAdj + 1000) * 360 / 1000);
}
Ref_Speed = Speed_Ctrl;
Act_Speed = 2*Speed_Ctrl;
if(Ref_Speed >= 5000) Ref_Speed = 5000;
if(fabs(Rocker_angle) > PI*0.35)
{
//前后行驶
if(GV.MK32_Key.CH2_LY_V > 0)
{
//前进
R1_Speed_Con = -1;
L1_Speed_Con = 1;
R2_Speed_Con = -1;
L2_Speed_Con = 1;
}
else if(GV.MK32_Key.CH2_LY_V < 0)
{
//后退
R1_Speed_Con = 1;
L1_Speed_Con = -1;
R2_Speed_Con = 1;
L2_Speed_Con = -1;
}
}
else if(fabs(Rocker_angle) < PI*0.15)
{
if(GV.MK32_Key.CH3_LY_H > 0)
{
//右转前行
R1_Speed_Con = -0.35;
L1_Speed_Con = 1;
R2_Speed_Con = -0.35;
L2_Speed_Con = 1;
}
else if(GV.MK32_Key.CH3_LY_H <= 0)
{
//左转前行
R1_Speed_Con = -1;
L1_Speed_Con = 0.35;
R2_Speed_Con = -1;
L2_Speed_Con = 0.35;
}
}
else
{
R1_Speed_Con = 0;
L1_Speed_Con = 0;
R2_Speed_Con = 0;
L2_Speed_Con = 0;
}
GV.LeftFrontMotor.Target_Velcity = L1_Speed_Con * Ref_Speed;
GV.RightFrontMotor.Target_Velcity = R1_Speed_Con * Ref_Speed;
GV.LeftBackMotor.Target_Velcity = L2_Speed_Con * Ref_Speed;
GV.RightBackMotor.Target_Velcity = R2_Speed_Con * Ref_Speed;
}
void HALT_State_Do(void) void HALT_State_Do(void)
{ {
GV.LeftFrontMotor.Target_Velcity = 0; GV.LeftFrontMotor.Target_Velcity = 0;
@ -367,7 +459,7 @@ void Manual_low_speed_Down_State_Do(void)
LimitDownPosition(); LimitDownPosition();
} }
#define STEP_LEN_COUNT 20000 // 位置环每20000个count对应1mm #define STEP_LEN_COUNT 2000 // 位置环每2000个count对应0.1mm
void Manual_step_Up_State_Do(void) void Manual_step_Up_State_Do(void)
{ {

2
diaoerqiege/diaoerqige_V1.0/app/src/main/res/layout/activity_polish.xml

@ -683,7 +683,7 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:layout_weight="1"
android:gravity="center" android:gravity="center"
android:text="mm" android:text="10⁻¹ mm"
android:textColor="@color/dark_ink_blue" android:textColor="@color/dark_ink_blue"
android:textSize="15dp" /> android:textSize="15dp" />
</LinearLayout> </LinearLayout>

Loading…
Cancel
Save