jwson3
November 7, 2022, 9:59am
1
I am testing the ros2 interworking function in isaac sim,
After running ros example on the machine where isaac sim is installed, I open a new terminal and run ros2 topic list, but I do not receive a topic.
However, other machines connected to the local network receive the topic.
I got the error
[RTPS_TRANSPORT_SHM ERROR] Failed init_port fastrtp_port7416: open_and_lock_file failed ā funaction open_port_internal
Is this the reason of this error?
Who has the same problem as me? I wonder if there is any solution.
1 Like
Iām having the same error. It does work with ROS1 though.
For more context:
on AWS EC2 instance,
installed Isaac Sim and ROS2 Foxy and Moveit2 Foxy
Opened up Isaac Sim - MoveIt Tutorials, hit play,
Opened up a terminal, sourced ros2 setup.bash, and entered ros2 topic list. It did not show any of the topics.
Thought this was an EC2 instance problem, tested this on my local machine, same error.
Installed ROS1, and tested this with ROS1, and it worked. I was able to see all the topics by doing rostopic list.
I tried doing ROS_LOCAHOST_ONLY=1, but still same errors
jwson3
November 8, 2022, 12:27am
3
Hi, I followed this solution of link and solved the problem.
opened 06:55PM - 05 Oct 22 UTC
closed 04:19PM - 11 Oct 22 UTC
triage
### Is there an already existing issue for this?
- [X] I have searched the ex⦠isting issues
### Expected behavior
This is on a fresh install of 22.04, Nvidia's Isaac sim and binary install of ROS2 Foxy.
As per [Nvidia's instructions](https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/install_ros.html#included-ros-2-packages) I have not sourced `/opt/ros/foxy/setup.bash` in my ~/.bashrc file. I have set `export RMW_IMPLEMENTATION=rmw_fastrtps_cpp` in the bashrc to ensure the correct middle-ware is being used.
When I start the computer I am able to open up two terminals, source Foxy, and run/echo the following.
- In the first terminal I can run `ros2 run demo_nodes_cpp talker`
- In the second terminal I can run `ros2 topic list` and `ros2 topic echo /chatter` to see the published data.
### Current behavior
For my second test I am following [these instructions](https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/install_ros.html#enabling-the-ros-ros-2-bridge-extension) to have Isaac sim publish data to ROS.
- First I start Isaac and then enable the ROS2 bridge
- In Isaac I start the MoveIt example by selecting from the menu bar `Isaac Examples->ROS->MoveIt` and it starts a simulation with a Franka robot in the scene.
In the terminal I get the following message as a verification that data is being published to ROS. `[WARN] [1664994017.213770358] [rclcpp]: logging was initialized more than once`
- I open a new terminal, run `source /opt/ros/foxy/setup.bash` then `ros2 topic list` but FastRTPS throws errors and is unable to discover topics from the sim.
```
$ ros2 topic list
2022-10-05 12:32:08.462 [RTPS_TRANSPORT_SHM Error] Failed init_port fastrtps_port7412: open_and_lock_file failed -> Function open_port_internal
2022-10-05 12:32:08.462 [RTPS_TRANSPORT_SHM Error] Failed init_port fastrtps_port7413: open_and_lock_file failed -> Function open_port_internal
/parameter_events
/rosout
```
### Steps to reproduce
After the system has started throwing `fastrtps` errors it throws them any time new nodes are started and topic discovery is broken even if I stop and restart the ros2 daemon. I.E.
```
$ ros2 run demo_nodes_cpp talker
2022-10-05 12:43:14.676 [RTPS_TRANSPORT_SHM Error] Failed init_port fastrtps_port7413: open_and_lock_file failed -> Function open_port_internal
[talker 1664995395.680405888]: Publishing: 'Hello World: 1'
$ ros2 topic list
/parameter_events
/rosout
```
From other issues in this repo I found that when you get the `Failed init_port` it is recommended you run `fastdds shm clean` but when I do this the program throws errors.
```
$ fastdds shm clean
Traceback (most recent call last):
File "/opt/ros/foxy/bin/../tools/fastdds/fastdds.py", line 112, in <module>
FastDDSParser()
File "/opt/ros/foxy/bin/../tools/fastdds/fastdds.py", line 85, in __init__
getattr(self, args.command)()
File "/opt/ros/foxy/bin/../tools/fastdds/fastdds.py", line 103, in shm
ShmParser(sys.argv[2:])
File "/opt/ros/foxy/tools/fastdds/shm/parser.py", line 71, in __init__
Clean().run()
File "/opt/ros/foxy/tools/fastdds/shm/clean.py", line 44, in run
zombie_segments = self.__clean_zombie_segments()
File "/opt/ros/foxy/tools/fastdds/shm/clean.py", line 114, in __clean_zombie_segments
self.segments_in_use += 1
AttributeError: 'Clean' object has no attribute 'segments_in_use'
```
### Fast DDS version/commit
Current Foxy binary version.
### Platform/Architecture
Ubuntu Focal 20.04 amd64
### Transport layer
Default configuration, UDPv4 & SHM
### Additional context
_No response_
### XML configuration file
_No response_
### Relevant log output
_No response_
### Network traffic capture
_No response_
export FASTRTPS_DEFAULT_PROFILES_FILE=~/.ros/fastdds.xml
export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
fastdds.xml file is located in isaac_ros_common/rtps_udp_profile.xml at main Ā· NVIDIA-ISAAC-ROS/isaac_ros_common Ā· GitHub
Hope to solve the problem.
Hey Jwson3, thanks a lot for the reply. That kinda worked. I had to turn off my WiFi though. Do you happen to know any solution that would still allow me to connect to Internet and have this work?
system
Closed
November 24, 2022, 6:01am
5
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.