[PropertyLoader:configure] The type 'array' did not provide a type composition function

OS: ubuntu 12.04 xubuntu-desktop Orocos version: 2.6, installed after multiple bootstrap attempts and edits (side-note: bootstrap.sh does not work for me, I've attempted installs on a clean 12.04 partition, and a virtual machine.) ROS on system: Yes

Hi, I'm fairly new to Orocos, my installation is not a part of ROS although I do have ROS installed on my computer.

I've looked at this topic: http://www.orocos.org/forum/orocos/orocos-users/error-type-array-did-not-provide-type-composition-function-i-need-one

but still nothing.

I'm attempting to configure a program with the following lines (located in a .cpf file):

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE properties SYSTEM "cpf.dtd"> <properties>

  <!-- Total number of servos (joints) in the kinematic chain. -->
  12Number of servos34656

  <!-- CAN interface device -->
  78CAN interface910/dev/pcan11112

  <!-- Servo drive unit mode (UM).  1=torque, 2=speed, 5=angle. -->
  1314Control Mode151621718

  <!-- Set this to 1 for pure simulation -->
  1920Simulation212212324

  <!-- Encoder counts per joint revolution. -->
  25
     26Encoder counts per joint revolution27
     28298177413031
     32338177413435  <!--  +/- ~0.14%  -->
     3637-4142463839 <!--  +/- ~0.06%  -->
     40414142464243
     4445-4142464647
     48494142465051
  52

  <!-- Home position -->
  53
     54home position55
     56573.141595859
     60610.06263
     64651.57086667
     68690.07071
     72731.57087475
     76770.07879
  80

  <!-- The Node-ID's to which the servo drives will respond.
       SimArm will ignore these values. -->
  81 
     82Joint node IDs83
     84851018687
     88891029091
     92931039495
     96971049899
     100101105102103
     104105106106107
     108109128110111
  112

  <!-- Home position -->
  113
     114home position115
     1161170118119
     12012111000122123
  124
<properties>

the logger displays:

... 0.104 [ Info ][PropertyLoader:configure] Configuring Service 'Robot' with '/home/jmao/Programming/SSL-projects/knrModified/config/woodstock/nbv/elmoarm_vel.cpf'. 0.104 [ ERROR ][refreshProperties] Could not find Property double Element0 in source. 0.104 [ ERROR ][refreshProperties] Could not find Property double Element1 in source. 0.105 [ ERROR ][refreshProperties] Could not find Property double Element2 in source. 0.105 [ ERROR ][refreshProperties] Could not find Property double Element3 in source. 0.105 [ ERROR ][refreshProperties] Could not find Property double Element4 in source. 0.105 [ ERROR ][refreshProperties] Could not find Property double Element5 in source. 0.105 [ ERROR ][PropertyLoader:configure] The type 'array' did not provide a type composition function, but I need one to compose it from a PropertyBag. 0.105 [ ERROR ][refreshProperties] Could not find Property double Element0 in source. 0.105 [ ERROR ][refreshProperties] Could not find Property double Element1 in source. 0.105 [ ERROR ][refreshProperties] Could not find Property double Element2 in source. 0.105 [ ERROR ][refreshProperties] Could not find Property double Element3 in source. 0.105 [ ERROR ][refreshProperties] Could not find Property double Element4 in source. 0.105 [ ERROR ][refreshProperties] Could not find Property double Element5 in source. 0.105 [ ERROR ][PropertyLoader:configure] The type 'array' did not provide a type composition function, but I need one to compose it from a PropertyBag. 0.105 [ ERROR ][refreshProperties] Could not find Property double Element0 in source. 0.105 [ ERROR ][refreshProperties] Could not find Property double Element1 in source. 0.105 [ ERROR ][refreshProperties] Could not find Property double Element2 in source. 0.105 [ ERROR ][refreshProperties] Could not find Property double Element3 in source. 0.105 [ ERROR ][refreshProperties] Could not find Property double Element4 in source. 0.105 [ ERROR ][refreshProperties] Could not find Property double Element5 in source. 0.105 [ ERROR ][refreshProperties] Could not find Property double Element6 in source. 0.105 [ ERROR ][PropertyLoader:configure] The type 'array' did not provide a type composition function, but I need one to compose it from a PropertyBag. 0.105 [ ERROR ][refreshProperties] Could not find Property double Element0 in source. 0.105 [ ERROR ][refreshProperties] Could not find Property double Element1 in source. 0.105 [ ERROR ][PropertyLoader:configure] The type 'array' did not provide a type composition function, but I need one to compose it from a PropertyBag. 0.105 [ ERROR ][DeploymentComponent::configureComponents] Failed to configure properties for component Robot 0.105 [ Info ][DeploymentComponent::configureComponents] Re-setting activity of Robot ...

The properties in question that are being modified are of std::vector<double>. The cpf and xml files have been reused from the previous 1.x version of the same code base.

.types lists: ConnPolicy FlowStatus PropertyBag SendHandle SendStatus TaskContext array bool char double doubles float int ints rt_string string strings uint void

as available data types.

What am I doing wrong? What might I be missing? (what part of orocos-toolchain might I be missing? noting my multiple failed attempts and work around)

Silly mistake, new error

The above errors have been fixed by adding a missing tag "name" and the corresponding Element# to the elements in the array struct.

However, a more confusing error is popping up.

Could not find Property int bufferSize in source

I've added

<simple name="bufferSize" type="int"><description>buffer size<description><value>30<value><simple>

to the property file, and I've checked the source code and bufferSize is an int

this->provides()->addProperty("bufferSize", bufferSize).doc("buffer size");

is in the constructor and bufferSize(30) is in the initialization list

this propertyfile is referenced by the main configuration file with

<simple name="PropertyFile" type="string"><value>path-to-file/file.cpf<value><simple>

UpdateProperties does not give me an error, I've removed the line containing bufferSize, since it's been set in the code, but I'd still like to be able to configure this via an xml file...

PropertyFile (unlike UpdateProperties), the file must include all the properties in the component, now that I have bufferSize why is it still giving me the error?

This is occurring for more than one component.

Ruben Smits's picture

[PropertyLoader:configure] The type 'array' did not provide a ty

Hi,

On Thu, Jun 5, 2014 at 11:12 PM, <j [dot] xianyimao [..] ...> wrote:
> OS: ubuntu 12.04 xubuntu-desktop
> Orocos version: 2.6, installed after multiple bootstrap attempts and edits
> (side-note: bootstrap.sh does not work for me, I've attempted installs on a
> clean 12.04 partition, and a virtual machine.)
> ROS on system: Yes
>

I would recommend to use Toolchain v2.7 instead of v2.6

Ruben

>
> Hi, I'm fairly new to Orocos, my installation is not a part of ROS although I
> do have ROS installed on my computer.
>
> I've looked at this topic:
> http://www.orocos.org/forum/orocos/orocos-users/error-type-array-did-not...
>
> but still nothing.
>
> I'm attempting to configure a program with the following lines (located in a
> .cpf file):
>
> ====
>
>
>
>
>
>
> Number of servos6
>
>
> CAN interface/dev/pcan1
>
>
> Control Mode2
>
>
> Simulation1
>
>
>
> Encoder counts per joint revolution
> 817741
> 817741
> -414246
> 414246
> -414246
> 414246
>
>
>
>
> home position
> 3.14159
> 0.0
> 1.5708
> 0.0
> 1.5708
> 0.0
>
>
>
> --
> Orocos-Users mailing list
> Orocos-Users [..] ...
> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users

[PropertyLoader:configure] The type 'array' did not provide a ty

On 11/Jun - 10:45, Ruben Smits wrote:
> Hi,
>
> On Thu, Jun 5, 2014 at 11:12 PM, <j [dot] xianyimao [..] ...> wrote:
> > OS: ubuntu 12.04 xubuntu-desktop
> > Orocos version: 2.6, installed after multiple bootstrap attempts and edits
> > (side-note: bootstrap.sh does not work for me, I've attempted installs on a
> > clean 12.04 partition, and a virtual machine.)
> > ROS on system: Yes
> >
>
> I would recommend to use Toolchain v2.7 instead of v2.6
>

Is 2.7 considered stable ? Any formal release planned because the web
site only references 2.6.0 toolchain ?