From 67e354cc17c0158dd26e1311b3a63ae010eb5390 Mon Sep 17 00:00:00 2001 From: Bence Magyar Date: Wed, 9 Sep 2020 11:17:37 +0100 Subject: [PATCH 1/7] Min-max values are now attributes of the command interface --- ...mponents_architecture_and_urdf_examples.md | 132 ++++++++++-------- 1 file changed, 74 insertions(+), 58 deletions(-) diff --git a/design_drafts/components_architecture_and_urdf_examples.md b/design_drafts/components_architecture_and_urdf_examples.md index 0e8cdd4..7d13a2e 100644 --- a/design_drafts/components_architecture_and_urdf_examples.md +++ b/design_drafts/components_architecture_and_urdf_examples.md @@ -24,7 +24,7 @@ ros2_control implementation examples are presented for the following robot/robot Note: * Everything within the `` tag is implemented as a plugin. * The examples below have some `` tags defined. The names in those tags are primarily for demonstration, not part of a pre-defined XML schema. Each component may define their names inside the `` tag. - + #### 1. Industrial Robots with only one interface * the communication is done using proprietary API to communicate with robot control box * Data for all joints is exchanged in batch (at once) @@ -39,13 +39,13 @@ Note: ros2_control_components/PositionJoint - -1 - 1 + -1 + 1 ros2_control_components/PositionJoint - -1 - 1 + -1 + 1 ``` @@ -71,22 +71,29 @@ Note: ros2_control_components/MultiInterfaceJoint - position - velocity - effort + + -1 + 1 + + + -1 + 1 + + + -0.5 + 0.5 + position velocity effort - -1 - 1 - -1 - 1 - -0.5 - 0.5 + ros2_control_components/MultiInterfaceJoint - position + + -1 + 1 + position velocity effort @@ -119,27 +126,31 @@ Note: ros2_control_components/MultiInterfaceJoint_MultiWrite - position - velocity - effort + + -1 + 1 + + + -1 + 1 + + + -0.5 + 0.5 + position velocity effort - -1 - 1 - -1 - 1 - -0.5 - 0.5 ros2_control_components/MultiInterfaceJoint_MultiWrite - position + + -1 + 1 + position velocity effort - -1 - 1 ``` @@ -160,13 +171,13 @@ Note: ros2_control_components/PositionJoint - -1 - 1 + -1 + 1 ros2_control_components/PositionJoint - -1 - 1 + -1 + 1 ros2_control_components/ForceTorqueSensor @@ -182,6 +193,7 @@ Note: position position ``` + with `min_value` and `max_value` belonging to the `commandInterfaceType` element. #### 4. Industrial Robots with externally connected sensor @@ -190,7 +202,7 @@ Note: * Sensor data are exchanged independently * Examples: KUKA RSI and FTS connected to ROS-PC -``` +```xml ros2_control_demo_hardware/2DOF_System_Hardware_Position_Only @@ -199,13 +211,13 @@ Note: ros2_control_components/PositionJoint - -1 - 1 + -1 + 1 ros2_control_components/PositionJoint - -1 - 1 + -1 + 1 @@ -236,8 +248,8 @@ Note: ros2_control_components/PositionJoint - -1 - 1 + -1 + 1 @@ -248,8 +260,8 @@ Note: ros2_control_components/PositionJoint - -1 - 1 + -1 + 1 ``` @@ -268,9 +280,10 @@ Note: ros2_control_components/VelocityJoint - velocity - -1 - 1 + + -1 + 1 + transmission_interface/SimpleTansmission @@ -285,9 +298,10 @@ Note: ros2_control_components/VelocityJoint - velocity - -1 - 1 + + -1 + 1 + @@ -297,9 +311,10 @@ Note: ros2_control_components/PositionJoint - position - ${-PI} - ${PI} + + ${-PI} + ${PI} + @@ -309,9 +324,10 @@ Note: ros2_control_components/PositionJoint - position - ${-PI} - ${PI} + + ${-PI} + ${PI} + ``` @@ -333,13 +349,13 @@ Note: ros2_control_components/PositionJoint - -1 - 1 + -1 + 1 ros2_control_components/PositionJoint - -1 - 1 + -1 + 1 transmission_interface/SomeComplex_2x2_Transmission @@ -395,8 +411,8 @@ Note: ros2_control_components/VelocityJoint - -1 - 1 + -1 + 1 transmission_interface/RotationToLinerTansmission From 10959566c06e0c87e5d95f91bec1497102e35902 Mon Sep 17 00:00:00 2001 From: Bence Magyar Date: Wed, 9 Sep 2020 11:18:04 +0100 Subject: [PATCH 2/7] No limits for state interfaces --- .../components_architecture_and_urdf_examples.md | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/design_drafts/components_architecture_and_urdf_examples.md b/design_drafts/components_architecture_and_urdf_examples.md index 7d13a2e..053a689 100644 --- a/design_drafts/components_architecture_and_urdf_examples.md +++ b/design_drafts/components_architecture_and_urdf_examples.md @@ -97,12 +97,6 @@ Note: position velocity effort - -1 - 1 - -1 - 1 - -0.5 - 0.5 ``` @@ -383,16 +377,10 @@ Note: ros2_control_components/IMUSensor velocity acceleration - -54 - 23 - -10 - 10 ros2_control_components/2DImageSensor image - 0 - 255 ``` From a30869ce4c11ce7d6dc285b61241f197f6eabace Mon Sep 17 00:00:00 2001 From: Bence Magyar Date: Sat, 12 Sep 2020 10:24:19 +0100 Subject: [PATCH 3/7] CamelCase and touchups --- ...mponents_architecture_and_urdf_examples.md | 172 ++++++++---------- 1 file changed, 71 insertions(+), 101 deletions(-) diff --git a/design_drafts/components_architecture_and_urdf_examples.md b/design_drafts/components_architecture_and_urdf_examples.md index 053a689..55423e1 100644 --- a/design_drafts/components_architecture_and_urdf_examples.md +++ b/design_drafts/components_architecture_and_urdf_examples.md @@ -31,21 +31,21 @@ Note: * Examples: KUKA RSI ```xml - + - ros2_control_demo_hardware/2DOF_System_Hardware_Position_Only + ros2_control_demo_hardware/2DOFSystemHardwarePositionOnly 2 2 ros2_control_components/PositionJoint - -1 - 1 + -1 + 1 ros2_control_components/PositionJoint - -1 - 1 + -1 + 1 ``` @@ -53,8 +53,8 @@ Note: Note: * `ros2_control_components/PositionJoint`type has implicitly: ```xml - position - position + + ``` #### 2. Industrial Robots with multiple interfaces (can not be written at the same time) @@ -63,26 +63,17 @@ Note: * Examples: KUKA FRI, ABB Yummy, Schunk LWA4p, etc. ```xml - + - ros2_control_demo_hardware/2DOF_System_Hardware_MultiInterface + ros2_control_demo_hardware/2DOFSystemHardwareMultiInterface 2 2 ros2_control_components/MultiInterfaceJoint - - -1 - 1 - - - -1 - 1 - - - -0.5 - 0.5 - + + + position velocity effort @@ -90,10 +81,7 @@ Note: ros2_control_components/MultiInterfaceJoint - - -1 - 1 - + position velocity effort @@ -112,36 +100,24 @@ Note: * Examples: (humanoid robots?) ```xml - + - ros2_control_demo_hardware/2DOF_System_Hardware_MultiInterface_MultiWrite + ros2_control_demo_hardware/2DOFSystemHardwareMultiInterfaceMultiWrite 2 2 - ros2_control_components/MultiInterfaceJoint_MultiWrite - - -1 - 1 - - - -1 - 1 - - - -0.5 - 0.5 - + ros2_control_components/MultiInterfaceMultiWriteJoint + + + position velocity effort - ros2_control_components/MultiInterfaceJoint_MultiWrite - - -1 - 1 - + ros2_control_components/MultiInterfaceMultiWriteJoint + position velocity effort @@ -157,21 +133,21 @@ Note: * Examples: KUKA RSI with sensor connected to KRC (KUKA control box) ```xml - + - ros2_control_demo_hardware/2DOF_System_Hardware_Sensor + ros2_control_demo_hardware/2DOFSystemHardwareSensor 2 2 ros2_control_components/PositionJoint - -1 - 1 + -1 + 1 ros2_control_components/PositionJoint - -1 - 1 + -1 + 1 ros2_control_components/ForceTorqueSensor @@ -187,7 +163,7 @@ Note: position position ``` - with `min_value` and `max_value` belonging to the `commandInterfaceType` element. + with the `min` and `max` parameters belonging to the `commandInterfaceType` element. #### 4. Industrial Robots with externally connected sensor @@ -197,24 +173,24 @@ Note: * Examples: KUKA RSI and FTS connected to ROS-PC ```xml - + - ros2_control_demo_hardware/2DOF_System_Hardware_Position_Only + ros2_control_demo_hardware/2DOFSystemHardwarePositionOnly 2 2 ros2_control_components/PositionJoint - -1 - 1 + -1 + 1 ros2_control_components/PositionJoint - -1 - 1 + -1 + 1 - + ros2_control_demo_hardware/2D_Sensor_Force_Torque 0.43 @@ -234,28 +210,28 @@ Note: * Examples: Mara, Arduino-based-robots ```xml - + - ros2_control_demo_hardware/Position_Actuator_Hadware + ros2_control_demo_hardware/PositionActuatorHadware 1.23 3 ros2_control_components/PositionJoint - -1 - 1 + -1 + 1 - + - ros2_control_demo_hardware/Position_Actuator_Hadware + ros2_control_demo_hardware/PositionActuatorHadware 1.23 3 ros2_control_components/PositionJoint - -1 - 1 + -1 + 1 ``` @@ -266,61 +242,55 @@ Note: * Examples: Arduino-based-robots, custom robots ```xml - + - ros2_control_demo_hardware/Velocity_Actuator_Hadware + ros2_control_demo_hardware/VelocityActuatorHadware 1.23 3 ros2_control_components/VelocityJoint - - -1 - 1 - + transmission_interface/SimpleTansmission ${1024/PI} - + - ros2_control_demo_hardware/Velocity_Actuator_Hadware + ros2_control_demo_hardware/VelocityActuatorHadware 1.23 3 ros2_control_components/VelocityJoint - - -1 - 1 - + - + - ros2_control_demo_hardware/Position_Sensor_Hardware + ros2_control_demo_hardware/PositionSensorHardware 2 ros2_control_components/PositionJoint - ${-PI} - ${PI} + ${-PI} + ${PI} - + - ros2_control_demo_hardware/Position_Sensor_Hardware + ros2_control_demo_hardware/PositionSensorHardware 2 ros2_control_components/PositionJoint - ${-PI} - ${PI} + ${-PI} + ${PI} @@ -335,24 +305,24 @@ Note: * Examples: Wrist of a humanoid robot ```xml - + - ros2_control_demo_hardware/Actuator_Hadware_MultiDOF + ros2_control_demo_hardware/ActuatorHadwareMultiDOF 1.23 3 ros2_control_components/PositionJoint - -1 - 1 + -1 + 1 ros2_control_components/PositionJoint - -1 - 1 + -1 + 1 - transmission_interface/SomeComplex_2x2_Transmission + transmission_interface/SomeComplex2by2Transmission {joint1, joint2} {output2, output2} 1.5 @@ -368,9 +338,9 @@ Note: * Examples: Camera, ForceTorqueSensor, Distance Sensors, IMU, etc. ```xml - + - ros2_control_demo_hardware/CameraWithIMU_Sensor + ros2_control_demo_hardware/CameraWithIMUSensor 2 @@ -391,16 +361,16 @@ Note: * Examples: Small Conveyor, Motor, etc. ```xml - + - ros2_control_demo_hardware/Velocity_Actuator_Hadware + ros2_control_demo_hardware/VelocityActuatorHadware 1.13 3 ros2_control_components/VelocityJoint - -1 - 1 + -1 + 1 transmission_interface/RotationToLinerTansmission From cbf9f7a574470dd5f43a948d70023c6a3607f0ac Mon Sep 17 00:00:00 2001 From: Bence Magyar Date: Sat, 12 Sep 2020 10:33:31 +0100 Subject: [PATCH 4/7] StateInterface simplified --- ...mponents_architecture_and_urdf_examples.md | 44 ++++++++----------- 1 file changed, 19 insertions(+), 25 deletions(-) diff --git a/design_drafts/components_architecture_and_urdf_examples.md b/design_drafts/components_architecture_and_urdf_examples.md index 55423e1..6b66835 100644 --- a/design_drafts/components_architecture_and_urdf_examples.md +++ b/design_drafts/components_architecture_and_urdf_examples.md @@ -74,17 +74,17 @@ Note: - position - velocity - effort + + + ros2_control_components/MultiInterfaceJoint - position - velocity - effort + + + ``` @@ -111,16 +111,16 @@ Note: - position - velocity - effort + + + ros2_control_components/MultiInterfaceMultiWriteJoint - position - velocity - effort + + + ``` @@ -160,8 +160,8 @@ Note: Note: * `ros2_control_components/PositionJoint`type has implicitly: ```xml - position - position + + ``` with the `min` and `max` parameters belonging to the `commandInterfaceType` element. @@ -275,10 +275,7 @@ Note: ros2_control_components/PositionJoint - - ${-PI} - ${PI} - + @@ -288,10 +285,7 @@ Note: ros2_control_components/PositionJoint - - ${-PI} - ${PI} - + ``` @@ -345,12 +339,12 @@ Note: ros2_control_components/IMUSensor - velocity - acceleration + + ros2_control_components/2DImageSensor - image + ``` From d170653237d1c3d230f1033bd464a3225bd3708b Mon Sep 17 00:00:00 2001 From: Bence Magyar Date: Tue, 15 Sep 2020 17:24:20 +0100 Subject: [PATCH 5/7] renaming 2DOF.... -> RRBot... --- ...mponents_architecture_and_urdf_examples.md | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/design_drafts/components_architecture_and_urdf_examples.md b/design_drafts/components_architecture_and_urdf_examples.md index 6b66835..4d3b9a0 100644 --- a/design_drafts/components_architecture_and_urdf_examples.md +++ b/design_drafts/components_architecture_and_urdf_examples.md @@ -31,9 +31,9 @@ Note: * Examples: KUKA RSI ```xml - + - ros2_control_demo_hardware/2DOFSystemHardwarePositionOnly + ros2_control_demo_hardware/RRBotSystemPositionOnlyHardware 2 2 @@ -63,9 +63,9 @@ Note: * Examples: KUKA FRI, ABB Yummy, Schunk LWA4p, etc. ```xml - + - ros2_control_demo_hardware/2DOFSystemHardwareMultiInterface + ros2_control_demo_hardware/RRBotSystemMultiInterfaceHardware 2 2 @@ -100,9 +100,9 @@ Note: * Examples: (humanoid robots?) ```xml - + - ros2_control_demo_hardware/2DOFSystemHardwareMultiInterfaceMultiWrite + ros2_control_demo_hardware/RRBotSystemMultiInterfaceMultiWriteHardware 2 2 @@ -133,9 +133,9 @@ Note: * Examples: KUKA RSI with sensor connected to KRC (KUKA control box) ```xml - + - ros2_control_demo_hardware/2DOFSystemHardwareSensor + ros2_control_demo_hardware/RRBotSystemWithSensorHardware 2 2 @@ -173,9 +173,9 @@ Note: * Examples: KUKA RSI and FTS connected to ROS-PC ```xml - + - ros2_control_demo_hardware/2DOFSystemHardwarePositionOnly + ros2_control_demo_hardware/RRBotSystemPositionOnlyHardware 2 2 @@ -190,9 +190,9 @@ Note: 1 - + - ros2_control_demo_hardware/2D_Sensor_Force_Torque + ros2_control_demo_hardware/ForceTorqueSensor2DHardware 0.43 @@ -210,7 +210,7 @@ Note: * Examples: Mara, Arduino-based-robots ```xml - + ros2_control_demo_hardware/PositionActuatorHadware 1.23 @@ -222,7 +222,7 @@ Note: 1 - + ros2_control_demo_hardware/PositionActuatorHadware 1.23 @@ -242,7 +242,7 @@ Note: * Examples: Arduino-based-robots, custom robots ```xml - + ros2_control_demo_hardware/VelocityActuatorHadware 1.23 @@ -257,7 +257,7 @@ Note: ${1024/PI} - + ros2_control_demo_hardware/VelocityActuatorHadware 1.23 @@ -268,7 +268,7 @@ Note: - + ros2_control_demo_hardware/PositionSensorHardware 2 @@ -278,7 +278,7 @@ Note: - + ros2_control_demo_hardware/PositionSensorHardware 2 @@ -299,7 +299,7 @@ Note: * Examples: Wrist of a humanoid robot ```xml - + ros2_control_demo_hardware/ActuatorHadwareMultiDOF 1.23 @@ -355,7 +355,7 @@ Note: * Examples: Small Conveyor, Motor, etc. ```xml - + ros2_control_demo_hardware/VelocityActuatorHadware 1.13 From c0f1497f63d3fe2aa56e2b43b5ef145f88460635 Mon Sep 17 00:00:00 2001 From: Bence Magyar Date: Mon, 21 Sep 2020 15:49:02 +0100 Subject: [PATCH 6/7] Min-max are child nodes everywhere --- ...mponents_architecture_and_urdf_examples.md | 51 +++++++++++++++---- 1 file changed, 41 insertions(+), 10 deletions(-) diff --git a/design_drafts/components_architecture_and_urdf_examples.md b/design_drafts/components_architecture_and_urdf_examples.md index 4d3b9a0..52f3cf1 100644 --- a/design_drafts/components_architecture_and_urdf_examples.md +++ b/design_drafts/components_architecture_and_urdf_examples.md @@ -71,9 +71,19 @@ Note: ros2_control_components/MultiInterfaceJoint - - - + + -1 + 1 + + + -1 + 1 + + + -0.5 + 0.5" + + @@ -81,7 +91,10 @@ Note: ros2_control_components/MultiInterfaceJoint - + + -1 + 1 + @@ -108,16 +121,28 @@ Note: ros2_control_components/MultiInterfaceMultiWriteJoint - - - + + -1 + 1 + + + -1 + 1 + + + -0.5 + 0.5" + ros2_control_components/MultiInterfaceMultiWriteJoint - + + -1 + 1 + @@ -250,7 +275,10 @@ Note: ros2_control_components/VelocityJoint - + + -1 + 1 + transmission_interface/SimpleTansmission @@ -265,7 +293,10 @@ Note: ros2_control_components/VelocityJoint - + + -1 + 1 + From e3e82b06c326273d5c7876d02ac4ffe120847b86 Mon Sep 17 00:00:00 2001 From: Bence Magyar Date: Mon, 21 Sep 2020 15:54:35 +0100 Subject: [PATCH 7/7] hola --- ...omponents_architecture_and_urdf_examples.md | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/design_drafts/components_architecture_and_urdf_examples.md b/design_drafts/components_architecture_and_urdf_examples.md index 52f3cf1..734ff64 100644 --- a/design_drafts/components_architecture_and_urdf_examples.md +++ b/design_drafts/components_architecture_and_urdf_examples.md @@ -74,27 +74,25 @@ Note: -1 1 - + -1 1 - + -0.5 0.5" - - ros2_control_components/MultiInterfaceJoint -1 1 - + @@ -124,11 +122,11 @@ Note: -1 1 - + -1 1 - + -0.5 0.5" @@ -142,7 +140,7 @@ Note: -1 1 - + @@ -278,7 +276,7 @@ Note: -1 1 - + transmission_interface/SimpleTansmission @@ -296,7 +294,7 @@ Note: -1 1 - +