![]() | 1 | initial version |
We use Ignition Transport services for communicating between the HAPTIX client code and Gazebo/real arm. It's not possible to send a single request that reaches multiple services, it's only received by one of the Gazebo instances. There's a slightly different behavior when using the keyboard teleoperation because we're publishing messages that can be received by multiple Gazebo instances. So the behavior that you observe is expected.
If you really want to control more that one arm at the same time you could:
controller_1
) running here will talk with gazebo1.controller_2
) running here will talk with gazebo1.You would need to modify your controllers for accepting (via Ignition Transport, raw sockets, shared memory, or any other IPC mechanism) commands from your master controller. Your controller_1
and controller_2
will receive the command and redirect it to its Gazebo instance.
+------------> controller_1 ------------> Gazebo_1
|
|
master_controller +
|
|
+------------> controller_2 ------------> Gazebo_2