-
Notifications
You must be signed in to change notification settings - Fork 368
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
What are you using ROS# for? #20
Comments
Hi all, I'm a master's student at UFMG, in Brazil. My master's thesis project is about robot swarm teleoperation, and since we had a Oculus Rift laying around we thought it was a good idea to use it. However, as you may know, Oculus Rift does not have a fully functional Linux driver and they don't have plans to officially support it, so I made numerous attempts on somehow doing something in ROS and being able to visualize it on Oculus Rift. Maybe I lost 6 months trying different stuff. Since then, I'm using ROS# to transfer data between Unity and ROS. From Unity I need the Oculus Poses and buttons states. And ROS sends back the positions of my dear little robots and some other visualization stuff. |
Hi, I like to test control and visual processing algorithms on robotic platforms. While we can certainly test them on real platforms, it is clearly easier to test them on simulated robots. To achieve this purpose, I used to work with V-REP interfaced with ROS. However, it turns that a particular project, I needed to get some realistic shading, light reflections, etc... Why my limited knowledge, I think that this is not easily achieved with VREP. I then turned to game engines like Unreal Engine and more recently Unity. Unfortunately, I initially forgot quickly about Unity, wrongly thinking it is was not possible to use without a license. I therefore invested some time trying to achieve my purpose with Unreal Engine, especially trying to use Microsoft AirSim (yes I needed a drone as well) ; But, the Unreal Engine really requires a beast, not a computer :) And I even do not know how easily it would have been to interface with the ROS world, but definitely the time it takes to compile the engine makes the progresses at a very slow pace. More recently, colleagues suggested to use Unity and it turns out that 1) it is very quick to set up and to run even on a moderately decent hardware and 2) combined with ROS-sharp it seems to perfectly fit my needs. So, for visually controlled robots, I can benefit from the Unity 3D capabilities for the rendering, and still develop/use algorithms on the ROS side; And this is also more funny to play with nice looking simulations :) |
I am a student at the KIT Karlsruhe trying to control a Kuka Robot with the Hololens. Right now we try to use the ros-sharp library but UWP is resilient. So far we only used ros-sharp urdf importer to get our robot into unity because it works better than the old urdf importer. After the import we have to delete ros-sharp because we can't compile the project. |
Hi @Jasonthefirst , thanks for sharing your project with us! We also had a small project with the Hololens this year. Unfortunately without ROS#, though 😉 Let's discuss platform requirements in issue #21. Or, alternatively, please open a new issue if more appropriate. I find it fascinating for what different types af applications, robots and VR/AR equipment you guys use ROS#. Looking forward to hear more stories! |
We are very proud and happy that parts of ROS# already found their way into Process Simulate, a Siemens Simulation Software for production lines. My colleagues just sent me the link to this youtube video illustrating the import of a URDF model. |
Hi @MartinBischoff , here is a follow up with a particular example of Unity3D + RosSharp where we want to simulate underground environments explored with drones. You can have a look to it at : https://youtu.be/XajgNfNJ1VI Not the full code is yet provided. Only the code of the drone is available for the moment at : https://github.com/jeremyfix/ros-and-unity/tree/master/DronePrefab |
Very impressive @jeremyfix ! Thank you for sharing this info here. All: Please do not hesitate and tell us about your applications here. It needn't be as elaborated as the applications above. We are also happy to read about any planned or ongoing tryouts... |
@MartinBischoff I indeed use this setup for testing autonomous navigation in underground . This navigation is based on optic flow. For easily testing this ability , we needed to get a simulated environment with 3D shapes, textures, lightning so be as fair as possible with what we may encounter in real underground environements. |
Hi all, I'm an undergraduate from Brown University in Providence, and my lab currently uses ROS# for a variety or projects including VR and AR visualization and teleoperation of a Rethink Robotics Baxter, and a Kinova Robotics Movo. @MartinBischoff, I'm currently attempting to implement something similar to your turtlebot teleoperation project, but on a different robot. Is the Unity Project for this online somewhere, or is there a tutorial on how to integrate a depth image with the rgb camera? That'd be very helpful! Our lab will post links to videos and images of the project soon! Excited to share more with all of you. |
Hi @NishanthJKumar ! Thanks for sharing this info about your project here! We did not publish our code for the turtlebot application open source. It would be too much effort to to make the code readable, document, fix bugs and administrated it properly. I hope you understand. For the 3D point cloud we proceeded as follows:
|
Hello everyone, I am a Masters student in Computer Science from University of Tartu Estonia. I am currently doing an Internship in an Estonian Robotics Organization. My task here is to integrate ROS with Unity to display statistics and other operations on a Hololens device. So far it was going good with ROS# Library but I had to abandon it. The problem arrises with sockets. The current version of ROS# doesn't work with UWP. Infact System.net.sockets is not working with UWP. After digging deep I found out that UDW supports Windows.Networking for sockets but Unity cannot recognize this. So right now trying to find a workaround to get pass this issue. Btw I followed your thread for ROS# upgrade in which you use IProtocol to pass socket type on connection but still the issue persisted. |
Hello, I'm currently working on my project where I have to implement a way to teleoperate a Baxter Robot machine using a HTC Vive on a Single Linux Ubuntu machine. Honestly a really daunting task as it's my first year doing coding but I was mainly just using java so C# is thankfully not too far-off. Anyways, I have got Unity working on my machine & learned basics of ROS, now I want to start communicating between the two. This seems to be exactly the tool I need, so thank you so much for providing this! But I just want to make sure this is actually possible to do so on a single Linux machine as the documentation only mentions a Windows build. I've seen posts of both people successfully and unsuccessfully using ROS# on a Linux machine... I can't get an opportunity to test this out until Monday but just want to know what other people's experiences with ROS# on a Linux machine is like. Using a Linux Ubuntu 16.04 btw. Thanks for any input! :) |
Hi @MartinBischoff , First, thanks for making this awesome project available! I'm trying to achieve something very similar to what you've done with the TurtleBot and Vive, but all in Linux. I already have the correct setup for integrating Vive, Unity and ROS using ROS#, but only for the standard message types provided on the unity package. Could you, or someone else who also achieved this, elaborate a bit more on how you handled point cloud/RGBD data coming from ROS and used meshes to render it? I'm a beginner in Unity and couldn't quite get the idea. |
Hi everyone, I am a researcher based in Taiwan National Chengchi University, we are currently developing AI for drones, and my task is to build a Ground Control Station to monitor the drones and supply other members with visual representations of data. I am actually a game designer and quite familiar with Unity3D but lack the domain knowledge of drones and ROS, had been dealing with QGroundControl for the past few weeks but progress is slow, so I was searching for an alternate solution until I found ROS#. I am using Unity3D on Ubuntu 16.04 and trying to communicate with my Intel Aero RTF Drone with ROS onboard; Any suggestions are welcomes :D |
Hi. I'm planning to make a new version a automatic forklift project I worked on a year ago. See: http://minireach.readthedocs.io/en/latest/demo.html Multiple fully simulated trucks in gazebo was rather slow, hopefully Unity works better... |
Hello, |
Hi @MischaRo and @awesome-manuel ! In pull request #135 you mentioned an appveyour.yml that you set up to bulid ROS# with AppVeyor. If you think it is of interest for others, please feel free to upload it e.g. on a new open GitHub project of yours. |
We see two use cases for AppVayor:
We can do both in our own repo, but especially the first case makes more sense to have it in your repo. |
Hi, What I am using ROS# for?.... I have some Unity and ROS (basic) experience. I managed to import the Niryo One URDF. Next step: Move the Unity Robot from ROS. I like this ROS# project, thank you very much! |
Hello, ROS# was a great tool for connecting Unity to our ROS ecosystem. |
Impressive video @bsaund . I'm happy to read this positive feedback about ROS#. |
@bsaund |
Hi @MartinBischoff |
Link corrected (also here). |
@stevensu1838 |
Here we applied ML-Agents to train the Shadow Hand URDF to catch a falling ball. Further info on this project that we did in 2018 already can be found here. Special thanks to all students involved in this project |
ROS# was the backbone for my thesis entitled "Observational Oversight for Understanding Trust in Interactive Human and AI Systems." I developed a 3d user interface in Unity software that used the output of simulated UxVs with on-board ROS processes to instantiate them in the virtual environment in the correct orientation (odometry), accurately place them in the virtual world with the help of the CoordinateSharp repo and MapBox, and issue positional change commands all while having a near real-time depiction of the UxV positions within the environment. ROS# made the generation of custom messages effortless and the integration with Unity easy. |
@Rhybo thank you for this info and this positive feedback about ROS#. |
Hi there! All the best |
Thanks for this post and for sharing the video @LukasSeipel ! |
Hi! we (bunch of ETH Zürich students) are working together with Microsoft on our project. Mainly we are building a (more or less) plug and play HoloLens 1/2 Data-Visualization & Interaction tool for robots. We also setup a REST-Server in a DockerContainer and can now (during runtime) request different Robots via POST requests. We actually created Docker Containers with the file_server, ROS, ROS Bridge and everything needed to start work with ROS#. Our project deadlines will come up in a few weeks and I'll post some videos then :) I think we made a few changes where you could be interested:
Thank you very much for all your work! This repository enabled us to do a cool project 🙂 |
Hi @luchspeter ! thanks for the info and for also sharing your work with the general public. I am looking forward to seeing the videos of your project. |
Here is the video of our project (with a bit of a delay): https://youtu.be/_RWhjLkz5sk |
Hello! I would like to share a project we have done for the course "Medical Augmented Reality" at TU Munich. Here we instantiate a robotic arm hologram on HoloLens, set target points for the arm by tracking markers, send the environment mesh that is obtained by HoloLens to ROS, let MoveIt plan the collision-free trajectory, and see the hologram robot executing the trajectory. Check out the videos! Here is the repo; |
Hi I'm using ROS# for my HoloLens interface. I built an AR interface on HoloLens to remotely interact with an autonomous drone. The hologram contains: 3D occupancy map from the drone, real-time odometry and target drone for manipulation. The AR interface is tested with an autonomous drone when flying in our HKUST campus. Glen |
I work for Bastian Solutions in the R&D team in Boise, ID. I am using RosSharp to create a shared deterministic nav interface for our various automated vehicles. Thanks for all your hard work everyone! |
Thanks @saltyseabastard for dropping a line here! Happy to read this SW is of use for you. |
Hi 👋 I was told that I am allowed to do a little advertisements for my fork. I currently maintain the UWP support fork of this repository over at https://github.com/EricVoll/ros-sharp/ Thanks again for @MartinBischoff for your work. |
Recently, we initiated a new open source project on github/siemens that we named Evaluation Framework. Evaluation Framework can also be used in combination with ROS# as demonstrated here. Thanks go to Michael Dyck for his commitment in this project. |
Check out this article for new ideas on what you can do with ROS#. |
Hello! I'm here to thank you for the contribution to ROS# For someone who wondered if this tool is suitable for android devices Please check out the video. Android Set up |
Only wanted to thank you for this amazing repository and share that we have been working with it to train reinforcement learning neural network which with we allowed a platform to get close to a target position. And as doctoral student, I am also working with the Hololens 2 adapted fork in order to program robotic arms in an easier way (still work-in-progress). |
Thank you for your feedback and for sharing this info @Rive4 ! A beatiful scene image and a nice AI application. |
Hi, @MartinBischoff ,I am impressed by your project, and lately, I took on a project about VR and the turtlebot2 robot. I wanna know how to realize VR to control the robot in real-time? |
@simongle99 this is not the right place to ask this question. I'd rather open a new Issue for this :) |
Hey! It looks like I forgot to mention my project NERVV that I developed in 2020 while at Purdue University's Jun Laboratory. While I don't have any demo videos handy, NERVV lets you easily set up machines in Unity, parse input data to create a virtual twin, and then even output this data to control machines with ROS! Using a framework like NERVV to set up machines gives some benefits like being able to quickly get input and output data flowing easily, but also lets other cool things be built that don't depend on a specific machine or setup as well! For instance, I was able to implement virtual twins with cool features like (additional) collision detection, continuous interpolation, or with the ability to use inverse kinematics that was able to work on any of the NERVV machines. Then in the NERVV example project, I was able to use that to build a VR demo app that let you view live machine data, adjust any NERVV machine axes manually, or activate IK on any machine to approximate your VR controller's location and orientation! All of this was made possible by ROS# which was really easy to use, so thank you so much! Unfortunately I don't have any cool videos of using the VR controllers on hand, but here you can see some of the virtual twinned machines in this photo, and these were being streamed live, I promise 😅 |
Hi all, I would like to share my graduation project. Using ROS# (with ROS2), I designed/simulated/prototyped a multi-purpose remote-controlled underwater vehicle. Unity Engine is used for the simulation and remote control Android app, and MATLAB (with ROS Toolbox) is used for the MIMO controller. unity_sim_demo_compressed.mp4Here is the repo link: https://github.com/memrecakal/Design-of-a-Multi-Purpose-Remote-Controlled-Underwater-Vehicle-Using-ROS-2-Unity-and-MATLAB-/tree/main |
We are very curious what you use ROS# for!
Let us use this issue to present our projects, whether finished, ongoing, or first idea.
I start! Here is our first public project:
A Tutlebot 2 is teleoperated via touchpad controllers HTC Vive.
A 3d point cloud of the camera image is illustrated in VR, as well as the mapping data and the moving turtlebot. The wheels of the turtlebot are animated via JointState messages. Users can teleport to different positions in the scene.
Further, users can switch between teleoperation and simulation mode in real time. In the simulation mode, RosBridgeClient disconnects and Users control the Urdf Simulation model by applying a torque at the wheels. It feels quite similar with the VR glasses on. The only difference is that the camera image is missing and the map does not update anymore. 😏
The text was updated successfully, but these errors were encountered: