diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e4c83552..83d4c15f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -101,5 +101,5 @@ jobs: run: | .github/helpers/check_urls.sh \ -d ".git build CMakeModules debian" \ - -f "package.xml architecture_coarse.svg dataflow.graphml start_ursim.sh" \ + -f "package.xml urcl_architecture.svg trajectory_interface.svg dataflow.graphml start_ursim.sh" \ -p "vnc\.html opensource\.org\/licenses\/BSD-3-Clause kernel\.org\/pub\/linux\/kernel" diff --git a/doc/architecture.rst b/doc/architecture.rst index 35fa5abf..98747d0f 100644 --- a/doc/architecture.rst +++ b/doc/architecture.rst @@ -1,17 +1,8 @@ Library architecture ==================== -The image below shows a rough architecture overview that should help developers to use the different -modules present in this library. Note that this is an incomplete view on the classes involved. - -.. image:: images/dataflow.svg - :width: 100% - :alt: Data flow - - -The core of this library is the ``UrDriver`` class which creates a -fully functioning robot interface. For details on how to use it, please see the -:ref:`example-driver` section. +This library implements the bare communication protocols used to communicate with the robot, as +well as a couple of standalone modules to directly use subsets of the library's functionality: .. toctree:: :maxdepth: 1 @@ -23,3 +14,14 @@ fully functioning robot interface. For details on how to use it, please see the architecture/script_sender architecture/trajectory_point_interface architecture/ur_driver + + +Dataflow overview with UrDriver +------------------------------- + +The image below shows a rough architecture overview that should help developers to use the different +modules present in this library. Note that this is an incomplete view on the classes involved. + +.. image:: images/urcl_architecture.svg + :width: 100% + :alt: architecture overview diff --git a/doc/images/dataflow.graphml b/doc/images/dataflow.graphml deleted file mode 100644 index ff480e30..00000000 --- a/doc/images/dataflow.graphml +++ /dev/null @@ -1,1066 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - UrDriver - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - - - control::ReverseInterface - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - Socket:50001 - - - - - - - - - - - - - - - - control::ScriptSender - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - Socket:50002 - - - - - - - - - - - - - - - - rtde_interface::RTDEClient - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - rtde_interface::RTDEWriter - - - - - - - - - - - - - - - - - comm::Pipeline - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - - - comm::URProducer - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - rtde_interface::RTDEParser - - - - - - - - - - - - - - - comm::URStream - - - - - - - - - - - - - - - - - - - - - public interface - - - - - - - - - - 2 - - - - - - - - - - - - - - - - getDataPackage() - - - - - - - - - - - getWriter() - - - - - - - - - - - - - - - - - - public interface - - - - - - - - - - 2 - - - - - - - - - - - - - - - - getDataPackage() - - - - - - - - - - - writeJointCommand() - - - - - - - - - - - writeKeepalive() - - - - - - - - - - - getRTDEWriter() - - - - - - - - - - - sendScript() - - - - - - - - - - - sendRobotProgram() - - - - - - - - - - - checkCalibration() - - - - - - - - - - - - - - comm::URStream - - - - - - - - - - - - - - - comm::URStream - - - - - - - - - - - - - - - - - - - Robot - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - ExternalControl -Installation Contribution - - - - - - - - - - - - - - - - - ExternalControl ProgramNode - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - custom URScript - - - - - - - - - - - - - - - - - - - RTDE - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - Socket:30004 - - - - - - - - - - - - - - - - Primary Interface - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - Socket:30001 - - - - - - - - - - - - - - - - Secondary Interface - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - Socket:30002 - - - - - - - - - - - - - - - - Dashboard Server - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - Socket:29999 - - - - - - - - - - - - - - - - - - - Dashboard client - - - - - - - - - - - 3 - - - - - - - - - - - - - - - - - - DashboardClient - - - - - - - - - - - - - - - - - URScript file - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/images/dataflow.svg b/doc/images/dataflow.svg deleted file mode 100644 index 770ff9c8..00000000 --- a/doc/images/dataflow.svg +++ /dev/null @@ -1,458 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - UrDriver - - - - - - - - - - - control::ReverseInterface - - - - - - - - Socket:50001 - - - - - - - - - - control::ScriptSender - - - - - - - - Socket:50002 - - - - - - - - - - rtde_interface::RTDEClient - - - - - - - - - - - rtde_interface::RTDEWriter - - - - - - - - - - comm::Pipeline - - - - - - - - - - - comm::URProducer - - - - - - - - - - - rtde_interface::RTDEParser - - - - - - - - - - comm::URStream - - - - - - - - - - - - - public interface - - - - - - - - - - getDataPackage() - - - - - - - getWriter() - - - - - - - - - - - - - public interface - - - - - - - - - - getDataPackage() - - - - - - - writeJointCommand() - - - - - - - writeKeepalive() - - - - - - - getRTDEWriter() - - - - - - - sendScript() - - - - - - - sendRobotProgram() - - - - - - - checkCalibration() - - - - - - - - - - comm::URStream - - - - - - - - - - comm::URStream - - - - - - - - - - - - - - - - - - - - - - - - - - - Robot - - - - - - - - - - - ExternalControl - Installation Contribution - - - - - - - - - - - - - ExternalControl ProgramNode - - - - - - - - - - - custom URScript - - - - - - - - - - - - - - - RTDE - - - - - - - - Socket:30004 - - - - - - - - - - - - - Primary Interface - - - - - - - - Socket:30001 - - - - - - - - - - - - - Secondary Interface - - - - - - - - Socket:30002 - - - - - - - - - - - - Dashboard Server - - - - - - - - Socket:29999 - - - - - - - - - - Dashboard client - - - - - - - - - - - DashboardClient - - - - - - - URScript file - - - - - - - - - - - - diff --git a/doc/images/urcl_architecture.drawio b/doc/images/urcl_architecture.drawio new file mode 100644 index 00000000..3d506285 --- /dev/null +++ b/doc/images/urcl_architecture.drawio @@ -0,0 +1,338 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/images/urcl_architecture.svg b/doc/images/urcl_architecture.svg new file mode 100644 index 00000000..c6d1c975 --- /dev/null +++ b/doc/images/urcl_architecture.svg @@ -0,0 +1,4 @@ + + + +UrDriverReverseInterfaceSocket: 50001ScriptSenderSocket: 50002TrajectoryPointInterfaceSocket: 50003ScriptCommandInterfaceSocket: 50004rtde_interface::RTDEClientpublic interfacegetWriter()getDataPackage()comm::URStreampublic interfacesendScript()sendRobotProgram()getDataPackage()getRTDEWriter()checkCalibration()writeTrajectorySplinePoint()writeTrajectoryPoint()writeJointCommand()writeKeepalive()writeTrajectoryControlMessage()writeFreedriveControlMessagezeroFTSensor()setPayload()setToolVoltage()endForceMode()startForceMode()...comm::URStreamRobotExternalControl ProgramNodecustom URScriptExternalControlInstallation ContriibutionSecondary InterfaceSocket: 30002RTDESocket: 30004Primary InterfaceSocket: 30001Dashboard ServerSocket: 29999Dashboard ClientDashboardClientexternal_control.urscript \ No newline at end of file