You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Idea: Still use handles to avoid searching the dictionary structure. Pass collection of requested handles (with pointers to the right doubles in the structure) to controllers.
Avoid interface-based type on handles but serve them as separate collections?
The text was updated successfully, but these errors were encountered:
The main issue for me was how properly assign handles between virtual components, i.e. Actuators and Sensors, and the component which implements a protocol for specific hardware. The problem is the following:
imagine a robot with one joint, with actuator with "position" interface and a sensor with "velocity" and "acceleration" interface**
According to your description in the design file the data would look as follows:
now we have to somehow assign these values to subclasses for which would be nice to have interface_names and values access
if we give access to the whole interface_value, aside from data-access issue, the problem is to find the right filed where the data should be stored
After some thoughts, I came to the conclusion that it would be very nice to split interface_values for each robot interface, i.e. Sensors and Actuators. This would changed the DynamicJointState message so that interface_values is a matrix, i.e. double array. So the above example would look like:
DynamicJointState:
joint_names: ["joint1"]
interface_values: [
interface_value: [
interface_names: ["position"]
values: [...]
],
interface_value: [
interface_names: ["velocity", "acceleration"]
values: [...]
]
]
]
- in this way, one would work on "InterfaceValue" level, which is IMHO better since each component knows also the semantic of a value. Then one could do some sanity checks to be sure that one is working on proper data as opposed to double pointers
What do you think about that?
** real world example would be a robot where we can control position and read position, velocity and acceleration data
Idea: Still use handles to avoid searching the dictionary structure. Pass collection of requested handles (with pointers to the right doubles in the structure) to controllers.
Avoid interface-based type on handles but serve them as separate collections?
The text was updated successfully, but these errors were encountered: