Alex exoskeleton
ALEX SoftwareDocumentation
CANOpen Robot Controller (CORC) Project

CANOpen Robot Controller (CORC) is a free and open source robotic development software stack. The project has been under development at the University of Melbourne in partnership with Fourier Intelligence for use with their X2 exoskeleton. The software has been designed to be extensible to any embedded Linux and CANopen enabled Robotic platform.


NOTE: This version of the software has only been tested virtually, further hardware testing is required. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

The CANOpen Robot Controller (CORC) project is made up of:

Getting started with RobotCANControl

We will be running through building and testing a simple test state machine (ExoTestMachine.cpp), the source code can be found in the apps folder of the root directory.

The current recommended and tested environmen is Debian jesse 8.11 on a BeagleBone Black Firmware. Theoretically, we can build on other distros and Linux platforms as well, but they have not been testd.

Workbench build environments for most platforms can be found here

How to get the Project

Clone the project and CANopenSocket from git repository(CANopenSocket used in robot homing sequence):

$ git clone https://github.com/capstonealex/exo.git

Build ExoTestMachine

$ cd /GitHub/exo/
$ make exe

Transfer files to Linux platform

Username: debian

Password: temppwd

Transfer executable and initRobot folders.

Run Virtual ExoTestMachine

1 cd initRobot
2 ./initVCAN
1 cd build
2 sudo ./EXO_APP
1 vcan0 704 [1] 00
2 vcan0 184 [2] 00 00 # PDO message
3 vcan0 704 [1] 05

Follow terminal instructions using your keyboard to run through test stateMachine.

1 ==================================
2  WELCOME TO THE TEST STATE MACHINE
3 ==================================
4 ==================================
5  PRESS S to start program
6 ==================================

Notice that terminal one(candump) sends out messages coresponding with application movement commands as follows: Specifics of CAN messages can be found in the drive.h source files.

1 vcan0 601 [8] 2F 60 60 00 01 00 00 00 #initi position control SDO
2 vcan0 764 [1] 05
3 vcan0 601 [8] 80 60 60 00 00 00 04 05 #initi position control SDO

Developer Information

License

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.