Robot Configuration File

From CPR Wiki
Revision as of 09:45, 13 September 2022 by Mab (talk | contribs) (added to category "Configuration")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The robot configuration files contain robot type dependent settings. Changing parameters in a robot configuration file may therefore affect multiple robot projects. This article shows how to change robot parameters.

Configuration via CPRog/iRC

Some parameters can be easily changed via CPRog/iRC. Connect to the robot, then open the robot configuration area (File -> Robot Configuration). These settings are synchronized to the embedded control if it is connected when you click "Save".

Accessing the Configuration File

More specialized changes need to be done manually via the configuration file. Be careful with these settings since wrong values can lead to unexpected behavior, like the robot moving faster than expected.

Like all configuration files the simulation and programming software on your PC and the embedded control both contain a copy of each robot configuration file. If you use a robot with embedded control you will need to change both, otherwise the simulation may act differently than the real robot.

CPRog/iRC (on PC)

Find the installation directory of CPRog/iRC (usually directly on drive C:\ or in C:\Program Files). Then find the following file: Data\Robots\<category>\<type>\<type>.xml

You can edit the configuration file with a basic text editor. Reload the project in CPRog/iRC to apply changes.

Embedded Control

Via CPRog/iRC

Version 12 of CPRog/iRC simplifies access to the configuration files of the embedded control:

  1. Click File -> Access Configuration
  2. Click "Try to Connect", if necessary
  3. In the Robot Configuration section click "Load..." to load the current configuration from the embedded control.
  4. Change the file with a basic text editor
  5. Write it back by clicking "Write..."
  6. Restart the robot to apply changes

Manual Access

If older versions of CPRog/iRC are used the configuration file needs to be accessed manually.

  1. Use a SFTP client to connect to the embedded control
  2. Download the file /home/robot/TinyCtrl/Data/Robots/<category>/<type>/<type>.xml or /home/root/TinyCtrl/Data/Robots/<category>/<type>/<type>.xml
  3. Edit it with a basic text editor
  4. Upload it
  5. Restart the robot to apply changes


The most important features that can be changed in the robot configuration file are the following. Note that only robot axes are configured here, not external or gripper axes.

Line Parameter Description
BusConfiguration CycleTimeMS Interval at which motion is calculated and I/O is handled
BusConfiguration GapMS Wait this amount of ms between sending position commands to each axis. Can solve or introduce communication issues. Try values of 0-2 but must be less than CycleTimeMS/number of axes
BusConfiguration PreciseTiming Use precise timer for the motion loop (only on embedded control). This can solve communication issues but increases processor load. Only use on Raspberry-Pi-based systems!
Joint ID CAN ID of each robot axis
Joint GearScale Gear Scale and Axis Direction
RemoteConfiguration IP IP address of the embedded control (only relevant for CPRog/iRC)
TinyCtrl DebugMode Disables error checks - DO NOT CHANGE!
Kinematic Kinematic dependent parameters including the lengths of robot arm segments
SoftwareMinMax Axis motion limits (mm or degrees)
JointVelocities Maximum velocities of each axis
JointAccelerations Maximum accelerations of each axis
JointAccelerationIncs Increase of acceleration of each axis
CartVelocities VelTrans Maximum cartesian velocity (mm/s)
CartVelocities VelOri Maximum cartesian orientation velocity (degrees/s)
PathGeneration GeneratorType Path generator type (01Joint or 02Linear)
PathGeneration SlicingMS Time precision (should not be much lower than CycleTimeMS
PathGeneration LookAhead, SmoothDist See Motion Smoothing
Referencing Mandatory If set to true the robot program can only be started if the robot is referenced. Disabling this can lead to collisions.
Brake Active Enables the motor brake function
Brake DOutChannel DOut channel used for the brake (internal numbering, DOut21 in CPRog/iRC is number 20 here)
Velocities JogJoint Defines the jog velocity while jogging the robot in joint mode (value 0-1, percent of max velocity of each axis)
Velocities JogCart, JogOri Defines the cartesian velocity while jogging the robot (in mm/s and degrees/s)

Hint: The JointVelocities, CartVelocities etc. lines may appear with a number at the end of the tag name (e.g. JointVelocities2). These are alternative configuration sets intended for robots that are available in different configurations (e.g. 24V and 48V). The embedded control choses the active velocities set depending on the value of "VelocitySetting" in the Project Configuration File. CPRog/iRC saves this value in CPRFrontend.xml.