Difference between revisions of "CAN Protocol"

From Wiki
Line 25: Line 25:
 
====for Linux====
 
====for Linux====
 
For the ROS environment a Linux driver is required. It can be found here:
 
For the ROS environment a Linux driver is required. It can be found here:
* If you use ROS with example code from our [https://github.com/CPR-Robots/ git repos], you will notice that the documentation of the ROS repos will refer to this version of the driver [https://www.peak-system.com/fileadmin/media/linux/files/peak-linux-driver-7.1.tar.gz PEAK-Linux-driver-7.1]. This is what we tested our code with.
+
* If you use ROS with example code from our [https://github.com/CPR-Robots/ git repos], you will notice that the documentation of the ROS repos will refer to this version of the driver [https://www.peak-system.com/fileadmin/media/linux/files/peak-linux-driver-7.10.tar.gz PEAK-Linux-driver-7.10] [[media:PCAN_linux_driver_7.10.tar.gz|mirror]]. This is what we tested our code with.
 
**For installation instructions have a look at section 4 in [https://github.com/CPR-Robots/cpr_mover/blob/master/doc/CPRMoverROSDoc.pdf this document]
 
**For installation instructions have a look at section 4 in [https://github.com/CPR-Robots/cpr_mover/blob/master/doc/CPRMoverROSDoc.pdf this document]
**[https://www.peak-system.com/fileadmin/media/linux/files/PCAN%20Driver%20for%20Linux_eng_7.1.pdf Manual]
+
**[https://www.peak-system.com/fileadmin/media/linux/files/PCAN%20Driver%20for%20Linux_eng_7.1.pdf Manual] [[media:PCAN_linux_driver_manual_7.10.pdf |mirror]]
  
* Latest driver for Linux [https://www.peak-system.com/fileadmin/media/linux/files/peak-linux-driver-8.5.1.tar.gz PEAK Linux driver 8.5.1], [https://www.peak-system.com/fileadmin/media/linux/files/PCAN-Driver-Linux_UserMan_eng.pdf Manual].
+
* Latest driver for Linux [https://www.peak-system.com/fileadmin/media/linux/files/peak-linux-driver-8.5.1.tar.gz PEAK Linux driver 8.5.1] [[mirror:peak-linux-driver-8.5.1.tar.gz|mirror]], [https://www.peak-system.com/fileadmin/media/linux/files/PCAN-Driver-Linux_UserMan_eng.pdf Manual] [[media:PCAN_linux_driver_manual_8.5.1.pdf|mirror]].
 
**For installation instructions, please refer to the manual linked above.
 
**For installation instructions, please refer to the manual linked above.
  
  
 
[[Category:Downloads]]
 
[[Category:Downloads]]

Revision as of 19:59, 20 June 2018

Commonplace Robotics uses the CAN field bus to send position set point values from the robot controller to the joint modules. The applied protocols are custom, but quite simple.

Two version are used

  • CPRCAN: 16 bit position data used for Mover4 and Mover6 robots and Slider platforms
  • CPRCANV2: 32 bit position data used for SRA and Mover6-2016 (understands both, CPRCAN and CPRCANV2) robots.

The position set point messages have to be send in a loop with e.g. 20 Hz. The application has to verify that this loop has a constant cycle time. If the jitter is too big the motion control modules might get into a communication loss error state. Additionally the application has to send state change messages like reset-all-errors and enable-motors.

The joint modules answer with an error code that provides the current state.

Resources:

Currently we are updating the example source code to the cprcanv2 protocol. Please get in contact if you need these sources.

Hardware / Drivers

for Windows 10, 8.1, 7 (32/64-bit)

Our robots and control electronics are usually supplied with a PCAN USB adapter. The PCAN USB Windows driver for the adapter can be found on the CPRog installation CD, if supplied, or downloaded here:

for Linux

For the ROS environment a Linux driver is required. It can be found here: