![]() |
2005 Autonomous Scripting Manual
OK, sorry I took so long. Its been a couple of hectic days. Anywho, here are all of the default commands available in Kevin Watson's code. I plan on playing around with the disabled ones (i.e. the way points and the like) and hopefully posting code to run it.
-------------------------------------------------------------------------- CMD_SHOW_STATE; no parameters Prints back the on-board clock time, x and y coordinates in mm, and the heading in milliradians CMD_VELOCITY; parm_1: velocity in mm/sec Uses the PID algorithm and encoders on the wheels to keep the motors driving at the commanded velocity CMD_WAIT; parm_1: time to wait in milliseconds Waits for the specified time until executing the next command on the list. Very useful after setting the velocity. (i.e. set velocity 1000mm/sec, drive for 5000 milliseconds = 5 meters). CMD_WAIT_UNTIL; parm_1: time to wait until in milliseconds Waits until the specified milliseconds into the match until executing the next line. Useful to delay your code so your alliance can get out of the way first. CMD_DRIVE; parm_1: distance to drive in mm Uses the PID code and encoders to drive the robot forward the specified distance. CMD_TURN; parm_1: distance to turn in milliradians, parm_2: tolerance to be within goal heading in milliradians Uses the gyro along with the PID algorithm to turn the robot the specified distance. The tolerance is the buffer as to how close it needs to be before deciding it has succeeded. CMD_WAIT_FOR_BUMP; no parameters Waits for a switch to be hit before continuing on to the next command. CMD_STOP; no parameters Stops the robot. CMD_GYRO_BIAS; no parameters Tells the gyro code to use the next 8 loops or so to set its bias. Usually the first line of code to be called since you want to be stationary when setting the bias. CMD_KEEP_HEADING; parm_1: time to hold heading in milliseconds. parm_2: tolerance in milliradians Tells to robot to keep its heading (direction) using the Gyro and the PID code to within the specified tolerance for the specified time. CMD_JUMP; parm_1: command to jump to Jumps to the specified command in the command list. Usefull for creating loops. -------------------------------------------------------------------------- That's all that is complete in Kevin's code. I will try to get CMD_SET_HEADING and CMD_SET_POS done soon as they should be useful. I hope this helps anyone that needs it. -Tony K |
Re: Autonomous Scripting Manual
Is this code compatible with joystick operation of the robot? I mean, after the robot excutes the command sequence in autonomous, will it respond to the joysticks on the OI? I'm asking because I noticed the Default routine is gone and I can't find where the mappings of the pwms and joystick inputs.
|
Re: Autonomous Scripting Manual
Quote:
The programmers have to combine the functions they want from the various capabilities FIRST, Kevin, and company are providing. |
Re: Autonomous Scripting Manual
The code forom Kevin's site doesn't contain some files from rhe default code from the http://www.ifirobotics.com/rc.shtml site (user_camera.c, for example).
Will it be alright if I'll just add these to Kevin's code? By the way, is that the right place to download the code from, or was I supposed to take it from somewhere else? |
Re: Autonomous Scripting Manual
Quote:
|
Re: Autonomous Scripting Manual
Quote:
|
Re: Autonomous Scripting Manual
Quote:
|
Re: Autonomous Scripting Manual
FIRST and Kevin Watson have provided us with great driver programs this year. By that I mean, they have wrote c files that will do things that are usually tedious to code for, such as sampling a gyro, or counting quadrature encoder ticks, and made them available to us. Now what you need to do, as Bharat said, is figure out what your robot needs, write those things down in a list. Then look at all the drivers given to us (gyro.c , encoder.c , pid.c , camera.c --and their headers!). So now that you understand what functions are in these programs, you can add what you need to your default code workspace (provided from IFI.. the one with no PID or camera support), and set your user_routines.c, or whatever file you are using to control the bot to include your newly added driver c files. When this is done, it will be easy to call any function from any of the drivers, and you will understand the code more because you helped create your robots workspace, instead of just changing values in the default code.
If you dont understand this, think of it as inlcuding an API in your win32 coding, and then calling functions from it. [EDIT] Dont forget to configure your drivers, by modifying the header (.h) files (respective to that .c file, of course) If you look in the headers, there will be multiple #define statements, where you must change values that are specific to your robot and sensors, such as wheel diameter, output RPM, and gyro scale factor [/EDIT] |
Re: Autonomous Scripting Manual
Quote:
also, if i can't use the code with the camera and PID support, how can i use the camera at all? I'm sure it's a stupid question, but it's my first year in the FIRST competition(my first year of studying robotics at all, too) and it's my first year of using C too, so I'm not really good at it. |
Re: Autonomous Scripting Manual
If I understand correctly, you want to use the code that doesn't specify for the camera or PID routine in the User_routine, and add the code or function calls that include either the camera or the PID, or both if you wanted to. I think this is so that you understand the code better... Also, keep in mind that they just pulled the camera code off the innovation first site, so it's probably got bugs. I think if you try to understand what each piece of the code and the functions do, and put it in the regular default user code, you'll be more successful at making it work.
|
Re: Autonomous Scripting Manual
Quote:
|
Re: Autonomous Scripting Manual
So what about integrating the camera into the script? (By way of new commands.) I've come up with 2 seperate APIs to do this (Both fairly thin), so I'm curious as to how others are thinking of doing it.
|
Re: Autonomous Scripting Manual
Quote:
Can someone prove me wrong? |
Re: Autonomous Scripting Manual
mm..to be able to use the autonomous scripting commands, a gyro, encoder(the gear teeth counter no?), and a PID(dunno what this is), are needed are they not?
|
Re: Autonomous Scripting Manual
Quote:
|
| All times are GMT -5. The time now is 02:46. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi