RaiderMV

I am trying to compile the sample VPL of courceware Lab turtorial 2 in order to make robot drive along an Arc. However, every time I am trying to use the merge activity to set the drive power of the generic differential drive I cannot see in data connections, between merge activity and generic differential drive, the left, right inputs as merged from the two paths.

Any ideas



Re: Microsoft Robotics - Visual Programming Language Executing Courseware Lab Tutorial 2 (VPL) Step 2: Drive along an Arc -- Fails in merge activity

Andreas Ulbrich

Please make sure that both inputs to merge have the same type (if they come from a join the fields in the joins must have the same names for both joins).

Andreas





Re: Microsoft Robotics - Visual Programming Language Executing Courseware Lab Tutorial 2 (VPL) Step 2: Drive along an Arc -- Fails in merge activity

RaiderMV

I have already verified that both inputs have the same names and types. Actually I have coppied the VPL example as it was presented in the LAB tutorial. No resolution yet




Re: Microsoft Robotics - Visual Programming Language Executing Courseware Lab Tutorial 2 (VPL) Step 2: Drive along an Arc -- Fails in merge activity

Andreas Ulbrich

Does the original diagram that is part of the courseware package exhibit the same problem Also, wenn you look at the tooltips of the connections, which is the first connection (left to right) that shows "Type: Unknown" or something similar

Thanks,

Andreas





Re: Microsoft Robotics - Visual Programming Language Executing Courseware Lab Tutorial 2 (VPL) Step 2: Drive along an Arc -- Fails in merge activity

RaiderMV

It seems that the original diagram that is part of the courceware exhibits the same problem. Just to assist you I have performed the following scenarios

Scenario 1 Using the merge activity I have connected ONLY the first Service (i.e. TurningradiusTowheelpowers). Output of merge forwarded to a GenericDifferentialDrive Service. No Problem

Scenario 2 Using the merge activity and after disconnecting the links of the previous scenario I am repeating it with the Join activity. Again the merge activity accepts only the JOIN input and merge output is connected with the GenericDifferentialDrive Service No Problem

Scenario 3 Having the result of Scenario 2 I am trying to connect the TurningRadiusToWheelPowers with the merge activity (like Scenario1) but without disconnecting the Join Activity links. Then VLP diagram indicates an error (red exclamation mark) on the input of GenericDifferentialDrive "The Incoming message type, (LeftWheelPower -> Unknown, RightWheelPower -> Unknown) does not match the input type needed for this activity"

As I said in my previous posts the data types merged are the same in type and have also the same name.

Thanx for your support

Markos





Re: Microsoft Robotics - Visual Programming Language Executing Courseware Lab Tutorial 2 (VPL) Step 2: Drive along an Arc -- Fails in merge activity

Andreas Ulbrich

Unfortunately, you cannot merge the output type of a service with the output of Join, even though their fields have the same names. You have to create a joins after the first service and pass the values individually. Then you can merge the two joins. Alternatively, you can simply have two copies of the drive and connect them from the join and the turningradius towheelpower service.

Hope this helps,

Andreas





Re: Microsoft Robotics - Visual Programming Language Executing Courseware Lab Tutorial 2 (VPL) Step 2: Drive along an Arc -- Fails in merge activity

RaiderMV

Thanx Andreas

I will give it a try

Markos





Re: Microsoft Robotics - Visual Programming Language Executing Courseware Lab Tutorial 2 (VPL) Step 2: Drive along an Arc -- Fails in merge activity

Andrey Dudarev

The same problem. No solution found yet.





Re: Microsoft Robotics - Visual Programming Language Executing Courseware Lab Tutorial 2 (VPL) Step 2: Drive along an Arc -- Fails in merge activity

Andrey Dudarev

After some experiments I have found the way to cast type CalculateWheelPowersResponse to double. It might be done using Calculate activity.

1. Create two Calculate activities.

2. Connect inputs of both activities to the output of the TurningRadiusToWheelPowers activity.

3. In the value boxes type in "Left" and "Right" then join the outputs of Calculate activities using new Join.

4. Merge the two joins (the new one and the existing one) to GenericDifferentialDrive.

Regards





Re: Microsoft Robotics - Visual Programming Language Executing Courseware Lab Tutorial 2 (VPL) Step 2: Drive along an Arc -- Fails in merge activity

Loyola IT

As you have noticed the directions do not work. Here is a simple solution that does work and still looks like the text diagram.

1. Connect the TurnRad to GenericDiff. Set for Success and get the Left/Right set. Test.

2. Drag and drop a Merge.

3. Grab the GDD end of the connector and connect it to the merge.

4 Connect the Merge to the GDD. Set the Left/right stuff. Test.

5. Connect the Join to the Merge. A red exclamation appears in the GDD. Ignore it. This setup works.

These tutorials need some major trouble shooting and a rewrite. I would like to know what the red exclamation is all about and why the tutorial was published if it did not work.