You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: tutorials/pick_and_place/2_ros_tcp.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -134,7 +134,7 @@ To enable communication between Unity and ROS, a TCP endpoint running as a ROS n
134
134
135
135
1. Next, the object that will hold the TCP functionality needs to be added.
136
136
137
-
Create another GameObject, name it RosConnect, and add the script `Assets/Plugins/TCPConnector/ROSConnection` to it in the same way.
137
+
Create another GameObject, name it RosConnect, and add the script `Packages/ROS TCP Connection/Runtime/TcpConnector/ROSConnection` to it in the same way.
138
138
139
139
1. Note that these components show empty member variables in the Inspector window, which need to be assigned.
- ROS message class generated from running `catkin_make` command
64
-
- Queue size
62
+
The `ros_node_name` is required and the `buffer_size` and `connections` are optional. They are set to `1024` and `10` by default if not provided in the constructor arguments.
65
63
66
-
`RosPublisher('pos_rot', PosRot, queue_size=10)`
67
-
## ROS Subscriber
68
-
A ROS Subscriber requires three components:
64
+
## Source Destination Dictionary
69
65
70
-
- Topic name
71
-
- ROS message class generated from running `catkin_make` command
72
-
- The tcp server that will connect to Unity
66
+
Create a dictionary keyed by topic or service with the corresponding ROS communication class as the value. The dictionary is used by the TCP server to direct messages to and from the ROS network.
@@ -81,26 +81,28 @@ A ROS Service requires two components:
81
81
82
82
`RosService('position_service', PositionService)`
83
83
84
-
## Creating the Server
84
+
## ROS Publisher
85
+
A ROS Publisher requires three components:
85
86
86
-
Requires:
87
+
- Topic name
88
+
- ROS message class generated from running `catkin_make` command
89
+
- Queue size
87
90
88
-
- The ROS node name
91
+
`RosPublisher('pos_rot', PosRot, queue_size=10)`
89
92
90
-
```python
91
-
tcp_server = TcpServer(ros_node_name)
92
-
```
93
+
## ROS Subscriber
94
+
A ROS Subscriber requires three components:
93
95
94
-
## Source Destination Dictionary
96
+
- Topic name
97
+
- ROS message class generated from running `catkin_make` command
98
+
- The tcp server that will connect to Unity
95
99
96
-
Create a dictionary keyed by topic or service with the corresponding ROS communication class as the value. The dictionary is used by the TCP server to direct messages to and from the ROS network.
Copy file name to clipboardExpand all lines: tutorials/ros_unity_integration/subscriber.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,7 +50,7 @@ public class RosSubscriberExample : MonoBehaviour
50
50
}
51
51
```
52
52
53
-
- Create an empty GameObject, name it `RosConnection` and attach the `Plugins/TcpConnector/ROSConnection` script. (Or, if you're reusing the same scene from the Publisher tutorial, you can just keep the existing RosConnection object.)
53
+
- Create an empty GameObject, name it `RosConnection` and attach the `Packages/ROS TCP Connection/Runtime/TcpConnector/ROSConnection` script. (Or, if you're reusing the same scene from the Publisher tutorial, you can just keep the existing RosConnection object.)
54
54
- Change the host name and port to match the ROS IP and port variables defined when you set up ROS.
55
55
- The IP for Unity to listen on should be determined automatically, but if you're having trouble, you can set it manually in the `Override Unity IP` field. Finding the IP address of your local machine (the one running Unity) depends on your operating system.
56
56
- On a Mac, open `System Preferences > Network`. Your IP address should be listed on the active connection.
Copy file name to clipboardExpand all lines: tutorials/urdf_importer/urdf_appendix.md
+12Lines changed: 12 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -316,6 +316,18 @@ To address this predicament we have integrated another algorithm to create Conve
316
316
317
317

318
318
319
+
## Disable Collision Support
320
+
URDF defines the robot visually using Visual Meshes, and its collision using Collision Meshes. Collision meshes define the physical volume of the links, and are used to calculate the inertia of the links and also to detect collisions between different physical objects. In Unity, rigidbodies cannot have concave collision meshes, so when importing a concave collision mesh, all concave regions are closed over to produce a convex outline. As a result, the convex shapes might intersect with each other, creating a hindrance in robot movement. To remedy this, we support a ```disable collision``` tag in URDF. To add an exception for collision detection in Unity:
321
+
322
+
1. Identify the links between which you want to ignore the collisions.
An example of the tag can be seen [here](https://github.com/Unity-Technologies/Unity-Robotics-Hub/blob/main/tutorials/pick_and_place/PickAndPlaceProject/Assets/URDF/niryo_one/niryo_one.urdf#L223).
319
329
330
+
The disable collision tag flags the links that need to be ignored to the URDF parser. Values of link1 and link2 attributes are the names of the two links between which the collision needs to be ignored. Make sure the names of the links match the names defined in the URDF file.
320
331
332
+
Note: You can also manually ignore collisions in Unity using [APIs](https://docs.unity3d.com/ScriptReference/Physics.IgnoreCollision.html).
0 commit comments