📄 readme
字号:
For help, contact cotsbots-help@millennium.berkeley.eduMotorBoard.h-- Defines commands/message types used in motor messages between the base mote (generally a mica variant) and the motor board. Also defines the MOTOR_Msg type (similar to TOS_Msg) used in the messaging components below.Robot Message Types-------------------BeepDiffusionMsg.h-- Defines the BeepDiffusionMsg and BeepDiffusionResetMsg types for the BeepDiffusion application.NavigationMsg.h-- Defines the NavigationMsg and NavigationDbgMsg types for the Navigation component.RobotMsg.h-- Defines a standard robot command message (types listed in MotorBoard.h)Robot Messaging Components and Interfaces-----------------------------------------MotorPacket.nc-- Provides abstract byte-level implementation of MotorSend and MotorReceive interfaces.MotorReceiveMsg.nc-- Interface provides a receive event implemented by MotorPacket.MotorSendMsg.nc-- Interface provides a send command and sendDone event implemented by MotorPacket.UARTMotorPacket.nc-- Interface directly used for communication. Standard use is something like component UARTMotorPacket as Packet where other communication methods may be substituted (such as I2C below)I2CMotorPacket.nc-- not yet implemented and testedOther Robot-related Interfaces------------------------Robot.nc-- Provides setSpeed, setTurn, setDirection and setSpeedTurnDirection commands. It should be noted that since this involves sending data over the UART that there is some delay involved (which is why the setSpeedTurnDirection command is included). Abstracts details of robot implementations from the application programmer.ServoCalibration.nc-- Provides an interface in which to calibrate the control loop for the Mini-Z servo. Allows the user to set the Kp, Ki and Straight parameters. See tos/platform/motor/README for more details.Servo.nc-- Provides a general servo interface. The key command is setTurn which takes a value from 0-60 (30=straight, 0=left, 60=right). It also requires an initialization and provides a debug event if needed.EEPROM.nc-- Provides read, write and init commands as well as a writeDone event.Figure8Calibration.nc-- Provides a calibration interface for a Figure8. Allows the user to set the right turn time, the first straight turn time, the left turn time, the second straight turn time, and the speed. Because the Figure8 component implemented here is open-loop, calibration is necessary to get anything that even resembles a figure8.Navigation.nc-- Provides a navigate command which takes an initial point and heading as well as a second point.Accel.nc-- Provides an init, startSensing and stopSensing command. Also fires a fire event when x and y accelerations are captured and provides a debug event.HPLMotor.nc-- Provides an init command as well as setSpeed and setDir for a lower level motor driver. Also allows for retrieving the current speed and direction setting of the motor.Other Robot-related Components----------------------RobotC.nc-- The top-level configuration component for the robot.RobotM.nc-- Implements the robot interface. RobotM sends messages to the MotorBoard using the MotorPacket component described above. The actual robot platform (Mini-Z Racer, tank, etc) is entirely abstracted here. All specific settings for the Robot interface are located on the MotorBoard in MotorBoardTopM.Figure8M.nc-- Implements the Figure8 interface and runs a figure8.MotorClock.nc-- Implements the Clock interface using Timer0 (which only has an overflow interrupt).MotorTestC.nc-- Runs through a set sequence of speeds to control and test both motors. This configuration is set to use the motor board-specific components.MotorTestM.nc-- Runs through a set sequence of speeds to control and test both motors.NavigationC.nc-- A top level configuration for the Navigation component. This component should drive the robot from one point to another given the correct locations and the current robot heading.NavigationM.nc-- Implementation of the Navigation component. This component drives the robot from one point to another given the correct locations and the current robot heading. This component is still in its early development. Currently the component uses trig functions from the math.h file and assumes the robot may only move forward. Several optimizations may be performed on the calculations in this component.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -