How to use Unity with ROS kinetic?
Hello, I'm using ROS kinetic with Ubuntu 16.04.
I've ever heard that Unity supports ROS API, which means the robot of ROS can run in the Unity environment.
For example, I'd like to spawn the Turtlebot-kobuki model in the Unity environment for reinforcement learning.
It doesn't necessary to communicate with ROS pc in realtime; it would be okay the Unity environment runs independently from that of ROS.
Unfortunately, I'm not familiar with how to spawn them and import ROS's APIs.
So if anyone who has ever done or working with this kind of task, would you please give me helpful advice?
Thanks In advance. :)
Asked by kane_choigo on 2020-12-13 09:46:47 UTC
Answers
I've done some work with ROS and Unity using ROS#. I would start by looking at their wiki for examples and tutorials.
Asked by tryan on 2020-12-13 13:06:09 UTC
Comments
Thank you for your quick reply. Would you please let me ask one more thing? It is the first time I should use ROS#
based on C#
. As I've worked Python primarily, have you ever heard or seen the communication through Python
between ROS and Unity, not C#
? Would it be not feasible to do?
Asked by kane_choigo on 2020-12-13 20:15:08 UTC
Based on this Unity forum discussion, it's possible but not necessarily easy. Obviously, it depends on your ability and what you're trying to do, but personally, I think it's better to just learn C# as there are so many tutorials specifically for Unity. If it's a simple project, there may already be a how-to. If it's more complicated, trying to do it through an extra interface layer seems like it would just make troubleshooting more difficult. Long-term, it would be easier to develop and make changes in C#, so why not start learning now? BTW, here's the Roll-a-ball tutorial I followed when I started with Unity, but note there's a link to an update in its description. Everyone's different though, so do what's right for you. You can always switch course later, too.
Asked by tryan on 2020-12-14 08:51:25 UTC
Comments