Git Product home page Git Product logo

iviz's Introduction

ROS iviz suite

Utilities for working with ROS and C#.

If you are interested in the visualization app, you can start here.

Contains the following modules:

Unity application for ROS data visualization on mobile devices.

ROS client library in C#.

Service to upload 3D models from a PC to a mobile device using iviz.

iviz_model_service

Backend library for iviz_model_service.

iviz_msgs

A small set of pre-generated ROS messages as C# files.

Parser that reads .msg files and generates C# files.

iviz_msgs_gen_lib

Library to read .msg files dynamically. Used by iviz_msgs_gen.

iviz_msgs_wrapper

Library to convert C# classes into messages or services. Used by iviz for message prototyping.

iviz_urdf

Parser for URDF and SDF resources.

iviz_utils

Dummy project that references all the others. If you make a change in a library and want to use it in iviz, build this and copy the DLLs from the iviz_utils/Publish folder into iviz/Assets/Dependencies.

(Note: Do not copy Newtonsoft.Json.dll, it will conflict with a Unity dependency.)

iviz_utils_tests

Unit tests for the different modules.

iviz_xmlrpc

Small library that partially implements HTTP requests and XML-RPC calls. Used by iviz_roslib.

iviz's People

Contributors

akzeac avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

iviz's Issues

Markers

Hi,

I searched your repository but have not found any file related to markers.
Is it possible to visualize arbitrary Markers (http://wiki.ros.org/rviz/DisplayTypes/Marker)?
Especially dynamically spawning and visualizing arbitrary meshes would be valuable.

Cheers,
Bernd

Migration Guide

Hi,

is there some migration guide from ROS#?
Those projects seem to be quite similar, despite possible performance improvements and different visualization plugins, right?

Cheers,
Bernd

Older Versions of ROS (Indigo/Kinetic) Support?

I'm able to get iviz to connect (Win 10 Unity) to a laptop's roscore (Ubuntu 18.04/melodic).

I've been having issues with other laptops/robots, however, using 14.04/Indigo and 16.04/Kinetic. I run roscore on the laptops/robots and make sure to set ROS_MASTER_URI , ROS_HOSTNAME, and ROS_IP to whichever ip they are assigned (have tried a combination of hostname/ip changes with no success).

On the Unity side, in the iviz UI AR Scene, I get the following error:

RpcConnectionException Error while calling RPC method 'getSystemState' at http://A.B.C.D:11311/ // removed ip from log to post online, I do have this correct though I believe as I can get it to work with a different IP/melodic
IOException Partner closed connection
UnityEngine.Debug:LogWarning (object)
Iviz.Core.Logger:InternalImpl (string,System.Exception,System.Text.StringBuilder) (at Assets/Core/Utils/Logger.cs:144)
Iviz.Core.Logger:Internal (string,System.Exception) (at Assets/Core/Utils/Logger.cs:103)
Iviz.Ros.RoslibConnection/<Connect>d__28:MoveNext () (at Assets/ROS/RoslibConnection.cs:214)
System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1<Iviz.Roslib.RosClient>:SetException (System.Exception)
Iviz.Roslib.RosClient/<CreateAsync>d__47:MoveNext ()
System.Runtime.CompilerServices.AsyncTaskMethodBuilder:SetResult ()
Iviz.Roslib.XmlRpc.NodeServer/<DisposeAsync>d__15:MoveNext ()
System.Runtime.CompilerServices.AsyncTaskMethodBuilder:SetResult ()
Iviz.XmlRpc.TaskUtils/<AwaitNoThrow>d__12:MoveNext () (at C:/Users/telepresence/Documents/Unity/iviz/iviz_xmlrpc/TaskUtils.cs:271)
System.Runtime.CompilerServices.AsyncTaskMethodBuilder:SetResult ()
Iviz.XmlRpc.HttpListener/<DisposeAsync>d__17:MoveNext () (at C:/Users/telepresence/Documents/Unity/iviz/iviz_xmlrpc/HttpListener.cs:93)
System.Threading._ThreadPoolWaitCallback:PerformWaitCallback ()

I can't seem to pin down the connection issue/don't have a great networking background. I'm guessing this is a ros_comm issue that has changed from kinetic -> melodic. I can't really upgrade my robots sadly. Any idea where to look would be greatly appreciated.

Building .apk application

Hi dear,

Firstly i would like to congratulate you on the development of such a game changer app, second i don't know if my question is relevant in this topic so i apologize if it is not.

I have no knowledge of mobile application development so my question is: will the apk for your application be available soon? or would it take the build of the project on unity to output the mobile application?

Regards,
Lotfi

Parsing ROS_HOSTNAME on mobile phones

Hi,
The demonstration of iviz on mobile phones is amazing! Many thanks for your awesome work!

I have a question about ROS_HOSTNAME and ROS_IP:

When the ros master is running on the remote robot, the iviz on the phone can obtain ros messages only when ROS_IP is explicitly specified in the robot hosts file. If just ROS_HOSTNAME is set, then mobile iviz can only get the topic list, which seems to be caused by HOSTNAME not being parsed, as shown in the following screenshot. If it is on a PC, this problem can be easily solved by modifying the local Hosts. But it is difficult to modify Hosts files on Android. Is there a way to directly resolve ROS_HOSTNAME through iviz without specifying ROS_IP in the robot?

59159fb1d59ad6a74972889b6ab9778

Cannot find resource 'Controllers/AR'

Hi,

A problem occurred when I tried to add an AR module:

InvalidOperationException: Cannot find resource 'Controllers/AR'
Iviz.Resources.Info1[T].get_Object () (at Assets/Core/ResourceManagers/Info.cs:34) Iviz.Resources.Info1[T].Instantiate (UnityEngine.Transform parent) (at Assets/Core/ResourceManagers/Info.cs:96)
Iviz.App.ARModuleData..ctor (Iviz.App.ModuleDataConstructor constructor) (at Assets/Application/Panels/ModuleDatas/ARModuleData.cs:30)
Iviz.App.ModuleData.CreateFromResource (Iviz.App.ModuleDataConstructor c) (at Assets/Application/Panels/ModuleDatas/ModuleData.cs:156)
Iviz.App.ModuleListPanel.CreateModule (Iviz.Resources.Resource+ModuleType resource, System.String topic, System.String type, Iviz.Controllers.IConfiguration configuration, System.String requestedId) (at Assets/Application/Panels/ModuleListPanel.cs:584)
Iviz.App.AddModuleDialogData.OnItemClicked (System.Int32 index, System.String _) (at Assets/Application/Panels/Dialogs/AddModuleDialogData.cs:54)
Iviz.App.ItemListDialogContents.RaiseClicked (System.Int32 id, System.String text) (at Assets/Application/Panels/Dialogs/ItemListDialogContents.cs:225)
Iviz.App.ItemListDialogContents+ItemEntry+<>c__DisplayClass8_0.<.ctor>b__0 () (at Assets/Application/Panels/Dialogs/ItemListDialogContents.cs:88)
UnityEngine.Events.InvokableCall.Invoke () (at :0)
UnityEngine.Events.UnityEvent.Invoke () (at :0)
UnityEngine.UI.Button.Press () (at D:/Program Files/Unity/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/UI/Core/Button.cs:68)
UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) (at D:/Program Files/Unity/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/UI/Core/Button.cs:110)
UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) (at D:/Program Files/Unity/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/EventSystem/ExecuteEvents.cs:50)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[T1] functor) (at D:/Program Files/Unity/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/EventSystem/ExecuteEvents.cs:261)
UnityEngine.EventSystems.EventSystem:Update() (at D:/Program Files/Unity/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/EventSystem/EventSystem.cs:377)
QQ截图20210114105758

How to solve it? Thanks.

About the support of IOS and ROS2

Thanks for your great jobs, I succesfully made it run in androud phones with ROS melodic. Really nice work!

I wonder if iviz will support ROS2?

And how can we download the app for the iphone or ipad?

HoloLens 2

Hi,
your work looks very interesting and promising. We want to use iviz with the HoloLens 2. Did you ever run iviz on a HoloLens?
Right know I was not able to build iviz for UWP platforms, I couldn't even import MRTK in the project.
Do you have any suggestions?

IVIZ 2D mode only

Hi everyone,

How can I build a different version of Iviz application in 2D mode to visualize 2D map from laser scan data only?
Thank you guys pretty much.

rabbit.

ArgumentException: type, when trying to add a pointcloud2 topic on Desktop

Hi there,

first of all: great job on this project!
I tried to run iviz on Ubuntu 20.04 with Unity 2019.4.23
When adding a Pointcloud2 topic, I got the follwing error on clicking the topic:

ArgumentException: type
Iviz.App.ModuleListPanel.CreateModuleForTopic (System.String topic, System.String type) (at Assets/Application/Panels/ModuleListPanel.cs:688)
Iviz.App.AddTopicDialogData.OnItemClicked (System.Int32 index, System.String _) (at Assets/Application/Panels/Dialogs/AddTopicDialogData.cs:119)
Iviz.App.ItemListDialogContents.RaiseClicked (System.Int32 id, System.String text) (at Assets/Application/Panels/Dialogs/ItemListDialogContents.cs:225)
Iviz.App.ItemListDialogContents+ItemEntry+<>c__DisplayClass8_0.<.ctor>b__0 () (at Assets/Application/Panels/Dialogs/ItemListDialogContents.cs:88)
UnityEngine.Events.InvokableCall.Invoke () (at /home/bokken/buildslave/unity/build/Runtime/Export/UnityEvent/UnityEvent.cs:166)
UnityEngine.Events.UnityEvent.Invoke () (at /home/bokken/buildslave/unity/build/Runtime/Export/UnityEvent/UnityEvent/UnityEvent_0.cs:58)
UnityEngine.UI.Button.Press () (at /home/graeter/Unity/Hub/Editor/2019.4.23f1/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/UI/Core/Button.cs:68)
UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) (at /home/graeter/Unity/Hub/Editor/2019.4.23f1/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/UI/Core/Button.cs:110)
UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) (at /home/graeter/Unity/Hub/Editor/2019.4.23f1/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/EventSystem/ExecuteEvents.cs:50)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[T1] functor) (at /home/graeter/Unity/Hub/Editor/2019.4.23f1/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/EventSystem/ExecuteEvents.cs:261)
UnityEngine.EventSystems.EventSystem:Update() (at /home/graeter/Unity/Hub/Editor/2019.4.23f1/Editor/Data/Resources/PackageManager/BuiltInPackages/com.unity.ugui/Runtime/EventSystem/EventSystem.cs:377)

any leads/suggestions how to solve it?

PointCloud2 topic not displaying

Hey, I downloaded the project today and ran it on Unity 2020.3.3f1. I connected to a different PC that was running a SLAM algorithm on ROS and wanted to visualize the generated point cloud using iviz. The topic I need showed up and I chose it, but I didn't receive any messages on it. I even tried disabling the firewall and echoing the topic in iviz but still nothing. The PC running Unity is running on Windows 10, and the ROS-running PC is on Ubuntu 18.04. Any idea what I might be missing? Thanks

Failed to read NTP clock from the master.System.IO.IOException

Thank you for your hard work and selfless dedication. I have benefited a lot from this project. But during this period, the program cannot run with the following error:

[NtpChecker] Failed to read NTP clock from the master.System.IO.IOException: Failed to contact host '192.168.1.120'
at Iviz.Ntp.NtpQuery+d__1.MoveNext () [0x00111] in /Users/akzeac/Documents/iviz/iviz_ntp_lib/NtpQuery.cs:44

Looking forward to your reply, thank you。
my emile [email protected]

Using IVIZ in Ubuntu Unity

Thanks for your great job!

My attempt on Windows10 was unsuccessful since the wired connection beteween robot and laptop wire seemed unstable (sometimes the connection can be successful, but most of the time It keeps retrying). So I considered using IVIZ in Ubuntu, but an error occurred when I started UI AR according to the process:

Assets/Application/Controllers/OccupancyGridListener.cs(4,22): error CS0234: The type or namespace name 'Remoting' does not exist in the namespace 'System.Runtime' (are you missing an assembly reference?)
DeepinScrot-0353

How should I solve this problem?
Thank you!

I can't open Iviz project in unity

Hi, i followed the step to open the project in Windows and Unity 2019.4.431f1. I opened the scene UI AR and i press play button. I get the following error: the variabile grandparentCamera of CameraOverlayDisplay has not been assigned. In the screen of app Iviz when i press any button nothing happens.

Model import

Thank you for your great work. I am trying to import my own robot model to Unity. However, the model failed to be imported with errors. My computer is running win10 and I create a ros_package_path file at c:/users/account/.iviz/ros_package_path. I also enable model service in the setting.

image

ArUco and Similar

Can this also use an ArUco Tag or similar as reference for the Augmented Reality, instead of just using a surface?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.