Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Papyrus/customizations/robotics/faq"

(Q: I've opened a CDT editor but it does not synchronize)
Line 16: Line 16:
  
 
=== Q: I've opened a CDT editor but it does not synchronize ===
 
=== Q: I've opened a CDT editor but it does not synchronize ===
A: You need to open a specific variant of the CDT editor that synchronizes with the model. This editor can be invoked via the context menu from the diagram (select the component or an activity). The synchronizing status is indicated by green side-bars. It stops synchronizing if Eclipse is restarted. If a "normal" CDT editor on the generated file is currently open, it will get activated. Close this one first, if you need synchronization.  
+
A: You need to open a specific variant of the CDT editor that synchronizes with the model. This editor can be invoked via the context menu from the diagram (select the component or an activity). The synchronizing status is indicated by a side-bar on the left of the editor. If it is green, the editor is synchronizing, if it is orange, it has stopped synchronizing. The latter happens if Eclipse is restarted or the associated model editor is closed by the user.
 +
 
 +
If a "normal" CDT editor on the generated file is currently open, it will get activated instead of opening the synchronizing editor. You can recognize this situation by the absence of the orange or green side-bar. Close the normal CDT editor first, if you need synchronization.
  
 
=== Q: I've modeled a ROS2 component, generated code, but the component does not seem to start ===
 
=== Q: I've modeled a ROS2 component, generated code, but the component does not seem to start ===

Revision as of 05:58, 28 April 2020


Frequently asked questions

Q: How can I install example models?

A: Use File -> NEW -> Examples. Then choose "Robotic examples" in the Papyrus category.

Q: How do I reference other models, notably service definitions in other models?

A: See reference handling.

Q: Which ROS version is supported?

A: ROS2 is supported. we recommend to use ROS2 eloquent.

Q: Is it possible to use existing ROS2 packages and service definitions?

A: Yes, see ROS2 reverse

Q: I've opened a CDT editor but it does not synchronize

A: You need to open a specific variant of the CDT editor that synchronizes with the model. This editor can be invoked via the context menu from the diagram (select the component or an activity). The synchronizing status is indicated by a side-bar on the left of the editor. If it is green, the editor is synchronizing, if it is orange, it has stopped synchronizing. The latter happens if Eclipse is restarted or the associated model editor is closed by the user.

If a "normal" CDT editor on the generated file is currently open, it will get activated instead of opening the synchronizing editor. You can recognize this situation by the absence of the orange or green side-bar. Close the normal CDT editor first, if you need synchronization.

Q: I've modeled a ROS2 component, generated code, but the component does not seem to start

A: All components are mapped to ROS2 life-cycle nodes. Therefore, they need to be configured and activated. Please find a bash script starting an application in the shell script below.

Q: Reverse from file does not work

A: Be sure that the CDT project hosting a ROS2 package is configured in a way that at least the standard includes are found (e.g. add /opt/ros/eloquent to the include directories).

Q: I cannot my service definitions during port creation

A: Make sure you understand references.

Q: I'm starting a client and a server (or a publisher and a subscriber), but they do not communicate

A: In order to achieve reusability and loose coupling, the components of a system are defined independently. While a publisher and a subscriber have to use the same service definition in order to communicate, they might use different port names (that are mapped to topic names). When two ports are connected in the system assembly, re-mappings assure that both can communication. These mappings are configured via the generated launch scripts, but of course not used, if a node is directly started via "ros2 run"

The bash script shown in the sequel starts the client of the client server example, taking care of the required re-mappings.

startClient shell script
 echo ros2 run clientserver AddClient
 set -m
 ros2 run clientserver AddClient useAdd:=server/AddRequest/addSvc &
 sleep 1
 ros2 lifecycle set AddClient configure
 ros2 lifecycle set AddClient activate
 fg

Back to the top