CORC Project
CANOpen Robot Controller Software Documentation
File List
Here is a list of all files with brief descriptions:
[detail level 12345]
  src
  apps
  stateMachine
  states
 ExoTestState.cpp
 ExoTestState.h
 InitState.cpp
 InitState.h
 Sitting.cpp
 Sitting.h
 SittingDwn.cpp
 SittingDwn.h
 Standing.cpp
 Standing.h
 StandingUp.cpp
 StandingUp.h
 ExoTestMachine.cpp
 ExoTestMachine.h
 application.cpp
 application.h
 CopleyDrive.cpp
 CopleyDrive.hAn implementation of the Drive Object, specifically for the Copley Drive
 DebugMacro.hDefines some macros for debugging output
 DummyActJoint.cpp
 DummyActJoint.hA dummy class to test whether the actuated joint inheritence stuff works
 DummyTrajectoryGenerator.cpp
 DummyTrajectoryGenerator.hA trajectory generator to be used for testing purposes
 ExoRobot.cpp
 ExoRobot.h
 Keyboard.cpp
 Keyboard.h
 RobotParams.hSpecific paramaters and naming definitions for exoskeleton robot class implementetion
  libs
  CANcomms
 CO_comm_helpers.c
 CO_comm_helpers.h
 CO_command.c
 CO_command.h
 CO_master.c
 CO_master.h
 CO_time.c
 CO_time.h
  inputDevice
 InputDevice.cpp
 InputDevice.hThe Input class is a abstract class which represents an input device. The Update function is called in a main program to query the devices input and update any memory representation of the device implemented. For example the keyboard implementation checks for key presses and fills key memory with a boolean value when pressed. See Keyboard for further detail
  robot
  joint
 ActuatedJoint.cpp
 ActuatedJoint.hThe ActuatedJoint class is a abstract class which represents a joint in a Robot objec. This class implements the Joint class, and specifically represents a joint which is actuated. This therefore requires a Drive object which will be used to interact with the physical hardware
 Joint.cpp
 Joint.hThe Joint class is a abstract class which represents a joint in a Robot objec. This class can be used to represent all types of joints, including actuated, non-actuated, revolute, prismatic, etc
 Drive.cpp
 Drive.hThe Drive class is used to interface with a CANOpen motor drive. According to the CiA402 standard
 Robot.cppGeneric Abstract Robot class, which includes joints and a trajectory generator, to be used with a CAN-based robot device
 Robot.hThe Robot class is a abstract class which is a software representation of a Robot with a flexible representation in terms of number of joints, number of sensors and type of I/O the real world or virtual robot has. The class specificall represents a robot with an underlying bus network connecting components to a master node, being the robots computer or processor. Implementations have been designed ExoRobot under CANOpen protocol, however others may be implemented by future developers
 TrajectoryGenerator.cppBase class of Trajectory Generator. Will always be extended with specific implementations
 TrajectoryGenerator.hBase class of Trajectory Generator. Will always be extended with specific implementations, and is relatively scarce, given the differences expected in the different trajectories
  stateMachine
 Event.cpp
 Event.h
 State.cpp
 State.h
 StateMachine.cpp
 StateMachine.h
 Transition.cpp
 Transition.h
  tests
 testDrives.cppA script to test the functionality of the Drive Objects
 testJoints.cppTests for the Joint, ActuatedJoint, ExoJoint and Drive classes
 testOD.cppA script to test the functionality of the Object dictionary access
 testRobot.cppA script to test the functionality of the ExoRobot class
 testSM.cppTest for the statemachine class and associated classes: state, event and transition
 testTraj.cpp
 main.cpp