![FRC极限抛射程序使用说明_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/43f46576-a163-414e-92b8-ad74e3bb5b41/43f46576-a163-414e-92b8-ad74e3bb5b411.gif)
![FRC极限抛射程序使用说明_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/43f46576-a163-414e-92b8-ad74e3bb5b41/43f46576-a163-414e-92b8-ad74e3bb5b412.gif)
![FRC极限抛射程序使用说明_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/43f46576-a163-414e-92b8-ad74e3bb5b41/43f46576-a163-414e-92b8-ad74e3bb5b413.gif)
![FRC极限抛射程序使用说明_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/43f46576-a163-414e-92b8-ad74e3bb5b41/43f46576-a163-414e-92b8-ad74e3bb5b414.gif)
![FRC极限抛射程序使用说明_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/43f46576-a163-414e-92b8-ad74e3bb5b41/43f46576-a163-414e-92b8-ad74e3bb5b415.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、FRC Driver Station场控使用说明:1、双击FRC Driver Station打开场控软件。场控启动后会同时打开两个界面,一个为FRC Driver Station,用来自己控制机器人。另一个为FRC PC Dashboard,为操作状态的仪表盘,用来显示一些状态,比如你机器人使用了摄像头,图像回传到电脑就是在这里显示的。2、FRC Driver Station左侧有五个按钮,其中第一个是我们最常使用的。TeleOperated为手动模式,是我们最常使用的,Autonomous为自动模式,如果你不能确定你的自动程序是什么,请不要轻易使用,以免机器人失控出现事故,Practi
2、ce为练习模式,Test为测试模式。Enable为这四种模式的开始启动按钮,isable为这四种模式的关闭按钮。建议使用场控时,鼠标要尽量时刻放在关闭按钮上,以防止机器人失控时及时关闭。还能够查看运行的时间,电池电量以及CPU的使用情况。队伍属于红蓝哪个队伍。3、左侧第二个按钮,可以显示当前本机场控的连接方式,重启roboRio和代码。通常不会使用,所以不详细介绍。4、左侧第三个按钮,可以设置此本机场控所控制的机器人队伍编号,这里一定要根据实际情况进行设置,否则不能操控你的机器人。其他选项可以设置仪表盘的类型通常缺省设置就可以。场控的版本设置,在比赛时候要根据组委会要求的版本进行设置,平时操控
3、机器人时不必设置。右侧可以设置练习时,自动阶段等比赛时间。5、左侧第四个按钮,用来调整USB接口。通常电脑上接第一个摇杆时会默认为0,第二个会识别为1,依次类推。如果识别过一次,以后再接时,通常会根据手柄摇杆类型自动识别到对应的端口上。需要注意的是,此处摇杆及手柄的端口号,必须与程序中一致,才可以控制。为避免使用时,由于插拔或自动识别的先后顺序而导致的接口与程序中书写的不一致从而造成手柄失灵。可通过此面板用鼠标拖拽手柄到正确的端口号上,而不用更改程序代码。6、左侧最后一个按钮,通常不会用到大家自行体会下即可。7、中间面板显示了当前操控机器人的队伍编号。CommunicationsRobot C
4、odeJoysticks三个指示灯分别代表着场控与机器人的连接状态,机器人中是否有代码,摇杆是否连接。红色代表非正常状态,如果上述三项都正常,则为绿色。7、最右侧面板,为系统的日志,通常使用中如出现异常会在此处显示相应的信息说明,请自行体会。二、编程软件Eclipse的使用说明:1、双击Eclipse软件图标,启动软件2、选择菜单栏上,File-New-Project 在弹出的New Project对话框中选择 WPLib Robot C+ Project中的Example Robot C+ Project,单击 Next在弹出的对话框中选择 Getting Started with C+中的
5、Getting Started,单击Next 。在Project Name中,修改项目名称(Getting Started)为自己定义的英文名称,这里最好不要起中文项目名称,例如MyRobot。单击Finish按钮,完成项目创建。3、在左侧项目管理窗口中,选择刚刚新建的项目MyRobot(上面刚起的名字),双击点击src文件夹,找到Robot.cpp,双击打开。看到右侧窗口中为初始化实例代码。按住Ctrl+A,全选。Delete删除所有代码,将我提供的代码全选(Ctrl+A)复制(Ctrl+C)粘贴(Ctrl+V)进去。4、选择菜单栏上的Window-Preferences 在弹出的对话框中选
6、择最后一项WPILib Preferences,在右侧Team Number中输入队伍编号,例如5601,在Tools Version中选择sfx-2014.11.01通常就这一个版本可供选择。单击OK 。5、选择左侧刚新建的项目名称MyRobot,右键单击鼠标,选择Build Project,对代码进行编译形成计算机可以识别的可执行文件。此过程中如果代码存在错误,下方会有提示,更正你的代码后,重复执行编译操作,直到成功。6、编译成功的程序可上传到RobRio中,前提是要保证电脑、路由、场控三者之间建立无线连接状态正常。上传程序步骤如下:选择左侧刚新建的项目名称MyRobot,右键单击鼠标,选
7、择Run As-2 WPILib C+ Deploy 。等待上传完成,上传过程中如果场控开启,会开到场控的代码指示灯会变红一下,说明正在复制新代码。代码复制成功后场控的代码指示灯会变回绿色,说明代码已经传到你的机器人核心里去了。同时,Eclipse也能看到提示是否代码上传成功。三、FRC极限抛射程序中端口及按键的使用说明:1、万向轮PWM信号接口:左前轮2、左后轮3、右前轮1、右后轮02、操纵杆USB接口:摇杆使用端口0、手柄使用端口23、按键使用:气动使用5、6、7按键 发射电机启动停止使用1、4按键(暂时未使用) 装弹使用8按键4、限位开关DIO接口:05、发射电机PWM信号接口:4,6端
8、口,插一个即可,颠倒4、6可变更电机转向6、装弹电机PWM信号接口:7,8端口,插一个即可,颠倒7、8可变更电机转向7、气动装置接口:0,1,2,如果接两个可以试验0,1或0,2四、抛射示例代码:代码中已经全部用中文做了注释说明,读者可根据机器人实际情况进行适当编辑修改。直接复制使用时,需注意复制粘贴过程可能出现格式变化,从而造成不符合C+语法,如果编译过程中出现错误,请自行调整。#include WPILib.h/* * 此程序描述了如何使用万向轮控制机器人. */class Robot: public SampleRobot / 万向轮端口 const static int frontLe
9、ftChannel= 2; const static int rearLeftChannel= 3; const static int frontRightChannel= 1; const static int rearRightChannel= 0; /摇杆端口 const static int joystickChannel= 0; const static int joystickChannel1= 1; / 定义一个机器驱动对象及摇杆对象,用于控制机器人行驶方向RobotDrive robotDrive;/ 万向轮的四个电机使用的对象Joystick stick;/ 操控万向轮的摇杆
10、/定义第二个机器驱动对象及手柄对象,用于控制发射电机及气动装弹装置RobotDrive robotDrive1;/此对象为发射电机Joystick stick1;/操控发射及装弹、气动的手柄RobotDrive robotDrive2;/此对象为装弹电机/ 更新周期为5毫秒const double kUpdatePeriod = 0.005; / 用于控制气动装置的按钮编号const int kSolenoidButton = 5;/气动复位装弹装置const int kDoubleSolenoidForward = 7;const int kDoubleSolenoidReverse = 6
11、;/气动推动装弹/const int start=1;/发射电机装置转动/const int close=4;/发射电机装置停止const int shot=8;/装弹装置按键 Solenoid m_solenoid;/定义一个气动装置对象/创建一个对象,对应双向电磁阀DoubleSolenoid m_doubleSolenoid;DigitalInput limitSwitch;/定义一个限位开关对象bool Position;/定义一个布尔型变量用来接收限位开关的信号int x;int y;public:Robot() :robotDrive(frontLeftChannel, rearL
12、eftChannel, frontRightChannel, rearRightChannel),/ 必须与上面声明的一致stick(joystickChannel),robotDrive1(4,6), stick1(joystickChannel1),robotDrive2(7,8),m_solenoid(0), / 气动装置用0信道m_doubleSolenoid(1,2),/双向电磁阀用1和2控制前后 limitSwitch(0),/初始化限位开关端口DIO口 x(1),y(1)robotDrive.SetExpiration(0.1);robotDrive.SetInvertedMot
13、or(RobotDrive:kFrontLeftMotor, true);/ 转换左边的发动机robotDrive.SetInvertedMotor(RobotDrive:kRearLeftMotor, true);/你可能需要更改或删除此部分去匹配你的机器人装置/* * Runs the motors with Mecanum drive. */void OperatorControl()robotDrive.SetSafetyEnabled(false);/电机的安全控制while (IsOperatorControl() & IsEnabled()robotDrive1.Drive(-1
14、,0);/旋转发射装置,速度由地一个参数控制,正负可调节转向/ 用摇杆的X轴控制横向运动,Y轴控制前后运动,Z轴控制旋转 / 此实例中不使用面向领域的驱动器,所以该陀螺仪输入为0robotDrive.MecanumDrive_Cartesian(stick.GetX(), stick.GetY(), stick.GetZ();Wait(kUpdatePeriod); / 等候5毫秒以避免占用CPU周期/*发射装置控制,注销掉暂时调整为一直处于待发射状态 if(stick1.GetRawButton(start)&stick1.GetRawButton(close)/当发射启动按键和停止按键同时
15、被按下时则发射电机停止,已做保护robotDrive1.Drive(0,0);/速度及电机转向,旋转角度Wait(kUpdatePeriod);/定义发动机延迟时间,否则带着转数会不直线else if(stick1.GetRawButton(close)robotDrive1.Drive(0,0);/暂停发射Wait(kUpdatePeriod);/ 等候5毫秒以避免占用CPU周期else if(stick1.GetRawButton(start)robotDrive1.Drive(-1,0);/反向旋转发射装置Wait(kUpdatePeriod);/ 等候5毫秒以避免占用CPU周期else
16、robotDrive1.Drive(-1,0);Wait(kUpdatePeriod);/ 等候5毫秒以避免占用CPU周期 */Position=limitSwitch.Get();/获取限位开关信号 y=1;while(y) if(Position&x%2=1)robotDrive2.Drive(0,0);if(stick1.GetRawButton(shot)x+;if(Position&x%2=0) robotDrive2.Drive(0.5,0); if(stick1.GetRawButton(shot) x+;if(!Position) robotDrive2.Drive(0.5,0); y=0; m_solenoid.Set(stick1.GetRawButton(kSolenoidButton);/气动复位按键/为了设置使用双向电磁阀,如果没有按下按钮他处于关闭的,如果只按下一个按钮,舍得的电磁阀对应于该按钮,如果两者都按下设置电磁阀向前 if (stick1.GetRawButton(kDoubleSolenoidForward)/kDoubleSolenoidForward 2 m_doubleSolenoid.Set(Doub
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 员工试用期劳动合同范本
- 月嫂公司服务合同范本
- 2025年人教五四新版九年级历史下册月考试卷含答案
- 2025商品房买卖合同3
- 2025企业合同管理表格
- 2025年浙科版选修6历史下册月考试卷含答案
- 2025年新科版八年级历史下册阶段测试试卷
- 建筑工程项目进度计划
- 2025年通信设备、计算机及其他电子设备项目立项申请报告
- 建筑工程的港口与航道工程
- 确定项目干系人(表格)
- 渠道管理就这样做
- 大客户销售这样说这样做
- 精装修样板房房屋使用说明
- 乔迁新居结婚典礼主持词
- 小学四年级数学竞赛试题(附答案)
- 鲁科版高中化学必修2全册教案
- 《病理学基础》知识考核试题题库与答案
- 人口分布 高一地理下学期人教版 必修第二册
- 四年级上册英语试题-Module 9 Unit 1 What happened to your head--外研社(一起)(含答案)
- 子宫内膜异位症诊疗指南
评论
0/150
提交评论