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 @@ + + + +
UrDriver
ReverseInterface
Socket: 50001
ScriptSender
Socket: 50002
TrajectoryPointInterface
Socket: 50003
ScriptCommandInterface
Socket: 50004
rtde_interface::RTDEClientpublic interface
getWriter()
getDataPackage()
comm::URStream
public interface
sendScript()
sendRobotProgram()
getDataPackage()
getRTDEWriter()
checkCalibration()
writeTrajectorySplinePoint()
writeTrajectoryPoint()
writeJointCommand()
writeKeepalive()
writeTrajectoryControlMessage()
writeFreedriveControlMessage
zeroFTSensor()
setPayload()
setToolVoltage()
endForceMode()
startForceMode()
...
comm::URStream
Robot
ExternalControl ProgramNode
custom URScript
ExternalControl
Installation Contriibution
Secondary Interface
Socket: 30002
RTDE
Socket: 30004
Primary Interface
Socket: 30001
Dashboard Server
Socket: 29999
Dashboard Client
DashboardClient
external_control.urscript
\ No newline at end of file