本帖最后由 Gorgon_Meducer 于 2015-2-15 22:31 编辑
此贴专门用于阿莫蜘蛛项目进度报告
傻孩子工作室作品
STAFF
Hardware Design yiming988
Driver Design y574924080
Movement Design qufuta sunfulong
Mechanical Designing 老陈
Production 老陈
Architecture Design Gorgon_Meducer
SPONSOR
amobbs, Freescale
ACKNOWLEDGE
Armok
- 2015-2-15
a. 更新Joint类,增加Time属性可以控制动作在指定的时间内精确的完成,大幅度提升蜘蛛舞蹈的时间精度。
工程模板需要在IAR7.x下编译,单击这里下载:
SpiderRobot_Template(v1.5).rar
(1.1 MB, 下载次数: 102)
2015-2-15 22:28 上传
点击文件名下载附件
特别说明,工程文件在“SpiderRobot_Templateapplication emplateuild_iar”下面
- 2015-2-04
a. 更新第一版舞蹈
http://v.youku.com/v_show/id_XODg2MDIwOTA0.html
讨论在这里
http://www.amobbs.com/forum.php? ... p;page=1#pid8405770
感谢sunfulong的精彩作品!
- 2015-1-28
a. 发布工程模板v1.4a
- 提供宏模板,用以将指定的动作重复指定的次数,范例:
- ACTION_REPEATE( REF_ACTION(Spider_Go_Front), //!< target action
- 10, //!< times
- REF_STATE(Spider_Action1));
复制代码
重复执行动作(Spider_Go_Front)10次,完成后直接切换到Spider_Action1状态
- 提供宏模板,用以延时指定的时间(非阻塞延时),范例:
- ACTION_DELAY_MS(4000, //!< delay time in ms
- REF_STATE(Spider_Action2)); //!< next state
复制代码
延时4000ms,完成后直接切换到Spider_Action2状态
- 提供脚本模式,并提供范例脚本,演示了重复前进10步,延时4秒,后退10步,前进一步的简单脚本
- /*! rief play action script
- *! param none
- *!
eturn access result
- */
- bool play_action_script(void)
- {
- utilitis_init();
- return NEW_FSM(SpiderPlay, REF_STATE(Spider_Init));
- }
- IMPLEMENT_FSM(SpiderPlay)
- PRIVATE STATE(Spider_Init) BEGIN
-
- IO_CFG(
- {PB20, IO_WORKS_AS_GPIO, IO_PULL_UP},
- );
- GSP_PORTB.DIR &= ~PB20_MSK;
-
- TRANSFER_TO_STATE(Spider_Wait_for_Trigger);
- EXIT_STATE;
- END
- PRIVATE STATE(Spider_Wait_for_Trigger) BEGIN
-
- //! press key to start
- if (!(GSP_PORTB.IN & PB20_MSK)) {
- TRANSFER_TO_STATE(Spider_Play);
- }
- REFLEXIVE_STATE
- END
- PRIVATE STATE(Spider_Play) BEGIN
-
- ACTION_REPEATE( REF_ACTION(Spider_Go_Front), //!< target action
- 10, //!< times
- REF_STATE(Spider_Action1));
- EXIT_STATE;
- END
- PRIVATE STATE(Spider_Action1) BEGIN
- ACTION_DELAY_MS(4000, //!< delay time in ms
- REF_STATE(Spider_Action2)); //!< next state
- EXIT_STATE
- END
- PRIVATE STATE(Spider_Action2) BEGIN
- ACTION_REPEATE(REF_ACTION(Spider_Go_Back), 10, REF_STATE(Spider_Action3));
- EXIT_STATE
- END
- PRIVATE STATE(Spider_Action3) BEGIN
- CALL_ACTION_EX( REF_ACTION(Spider_Go_Front), //!< target action
- REF_STATE(Spider_Action4)); //!< next
- EXIT_STATE
- END
- PRIVATE STATE(Spider_Action4) BEGIN
- //! performance complete!!! wait for trigger again
- TRANSFER_TO_STATE(Spider_Wait_for_Trigger);
- EXIT_STATE
- END
-
- END_IMPLEMENT_FSM
复制代码
b. 整理工程架构,提供动作模板和脚本模板
1.jpg (221.53 KB, 下载次数: 0)
下载附件
2014-8-3 15:02 上传
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
PWM硬件产生,而且和上层无关,没有使用中断。PWM的初始化函数就是SERVO.Init()
不提供 main是一种格式上的规范。用户并没有损失任何灵活性和可能性。由于main里面
有一些固定的结构,为了避免被破坏导致系统服务失效,所以采取了这种结构。其实如果
你非常介意这个问题,同时又不想用调度器,直接把app_init当作main函数就可以了,你
可以在里面加上超级循环。
一周热门 更多>