ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

al's profile - activity

2017-10-12 01:56:53 -0500 received badge  Famous Question (source)
2017-06-12 11:45:12 -0500 received badge  Notable Question (source)
2017-06-12 11:45:12 -0500 received badge  Popular Question (source)
2017-05-05 13:24:20 -0500 asked a question maximum message size rosjava

maximum message size rosjava Hi, Which is the maximum size in bytes for ros messages? Regards

2017-04-26 11:20:58 -0500 commented answer unresolved address when instantiating a service client on rosjava android

Easier to set the environment variable ROS_IP in the PC Read the following: http://wiki.ros.org/ROS/NetworkSetup#Name_r

2017-02-16 11:25:49 -0500 commented answer unresolved address when instantiating a service client on rosjava android

thanks for the instructions. I will try to find time for that.

2017-02-16 11:18:19 -0500 asked a question rosjava android and performance experiences

Hello,

I was wondering if there is anyone testing rosjava with multiple android tablets at once and who wants to share his/her experiences.

For example, as a way to benchmark my tablets, I have tested having several inexpensive tablets (e.g. Samsung tab A), every running a rosjava app that supports drawing with a finger and publishing the touch events to the other tablets to make the same drawing on screen. All the tablets being connected via a dedicated wifi LAN. I have tested having from 2 to 4 tablets, as well as the master running in one of the tablets or in a linux computer for diagnosis.

The most basic example, with 2 tablets, already presents issues. I would say that there are network issues, and it happens in an apparent random way. What I see is that the pointer in the remote tablet freezes for a few moments from time to time (this could be due to network lag), or even it draws a slightly different stroke (this could be due to some message being dropping or skipped). I have displayed in the linux computer the output of a rostopic echo command and what I see then is the output in the terminal also freezes temporarily some times. When using a third tablet, it sometimes fails in one, or in both. The tablet working perfectly is the one receiving the user touch input, despite using the messages published in the ros topic to make the drawing.

I guess it is a problem with the cheap hardware being used, but I am posting this situation in case someone has experience with demanding ros apps (e.g. video streaming). Rostopic bw reports an average bandwidth of 3kb/s in the problematic peaks and when it is running fine about 1.5kb/s. It's is pending to test it with more powerful tablets and/or another wlan router.

2017-02-16 09:39:32 -0500 commented question rosjava android AppCompatActivity

sure, you only need to keep a reference to the node, and shut it down when that happens.

2016-11-11 08:54:42 -0500 asked a question rosjava service callerid

Hi,

with the current rosjava api (0.2.1), Is there a way to know the callerid or the graphname of the caller of a service in the server side?

thanks Al

2016-11-10 17:05:31 -0500 received badge  Famous Question (source)
2016-11-10 17:05:31 -0500 received badge  Famous Question (source)
2016-11-10 15:27:05 -0500 received badge  Famous Question (source)
2016-11-09 10:05:38 -0500 answered a question Getting the list of published services in rosjava node

Hi,

I think this is an interesting question. Did you manage to get a list?

I am interested in getting a list of nodes running from a rosjava application.

Al

2016-09-28 04:38:21 -0500 received badge  Notable Question (source)
2016-09-02 11:21:11 -0500 commented answer unresolved address when instantiating a service client on rosjava android

I have also tested with the ros master and the turtlesim running in ubuntu natively (without virtualbox). I needed to set the hosts file in windows too. So the issue is more with the network configuration in all the computing nodes so that they can find each other by name. any suggestion to config?

2016-09-02 11:17:18 -0500 received badge  Popular Question (source)
2016-09-02 09:34:06 -0500 answered a question unresolved address when instantiating a service client on rosjava android

I tested a few more things. I created a rosjava node running directly on windows/jvm. I got the same issue, like in the rosjava node running in android.

The serviceclient is using the name of the host where the ros master is running instead of the ip. So the temporal solution is to edit the hosts file of the system, so that it can resolve it by name.

2016-09-02 03:34:38 -0500 received badge  Enthusiast
2016-09-01 11:00:53 -0500 asked a question unresolved address when instantiating a service client on rosjava android

Hi,

I have roscore and turtlesim_node on an ubuntu running in virtualbox under windows10, and a rosjava android app. The android app is starting correctly, finding the master. I can see the ros graph correctly from the linux computer.

Then I have added in the rosjava-android node the creation of a serviceclient to change the request the turtlesim_node to change the position of the turtle by invoking the service /turtle1/teleport_absolute. On the linux computer, the roscore and the turtlesim_node are running up.

In my android node, the code is like this:

...
public void onStart(final ConnectedNode connectedNode) {
        try {
            Log.d("BLAH", "ServiceCLient... creating serviceclient!");
            serviceClient = connectedNode.newServiceClient("/turtle1/teleport_absolute", TeleportAbsolute._TYPE);
            Thread.sleep(100);
            Log.d("BLAH", "ServiceCLient CREATED!"); // this is never reached
        } catch (ServiceNotFoundException e) {
            Log.d("BLAH", "ServiceCLient FAILED!"); // the exception thrown is not of this kind...
            throw new RosRuntimeException(e);
        }
        catch (Exception ex){
            Log.d("BLAH", "ServiceCLient Definitively FAILED!"); // so this will catch the exception to avoid crashing the app
        }
...

it fails when creating the serviceclient. The stacktrace looks like the one below.

Apparently, the android node cannot reach the master when creating a serviceclient. But a call to getRosHostname() and getMasterUri() in the init() method of my rosactivity confirms that the IPs are correct, and I can see the graph and the list of nodes and services on the linux computer with no problem.

Moreover, Ping commands in both computers (linux and android) are successful when IPs are used. I cannot resolve by name.

I wonder what I am missing, and whether rosjava is taking a name instead of a ip when creating a serviceclient, causing this issue due to using a virtualized linux.

Any help will be very useful.

Stacktrace:

com.my.sample1rosapp W/DefaultChannelPipeline: An exception was thrown by a user handler while handling an exception event ([id: 0x14cf6630] EXCEPTION: java.nio.channels.UnresolvedAddressException)                                                                                                org.ros.exception.RosRuntimeException: java.nio.channels.UnresolvedAddressException
at org.ros.internal.transport.ConnectionTrackingHandler.exceptionCaught(ConnectionTrackingHandler.java:81)
at org.jboss.netty.channel.Channels.fireExceptionCaught(Channels.java:533)
at org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.connect(NioClientSocketPipelineSink.java:157)
at org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.eventSunk(NioClientSocketPipelineSink.java:102)
at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:55)
at org.jboss.netty.channel.Channels.connect(Channels.java:642)
at org.jboss.netty.channel.AbstractChannel.connect(AbstractChannel.java:205)
at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:230)
at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:183)
at org.ros.internal.transport.tcp.TcpClient.connect(TcpClient.java:101)
at org.ros.internal.transport.tcp.TcpClientManager.connect(TcpClientManager.java:69)
at org.ros.internal.node.service.DefaultServiceClient.connect(DefaultServiceClient.java:137)
at org.ros.internal.node.service.ServiceFactory.newClient(ServiceFactory.java:146)
at org.ros.internal.node.DefaultNode.newServiceClient(DefaultNode.java:365)
at org.ros.internal.node.DefaultNode.newServiceClient(DefaultNode.java:372)
at com.my.sample1rosapp.ExampleNode.onStart(ExampleNode.java:44)
at org.ros.internal.node.DefaultNode$5.run(DefaultNode.java:506)
at ...
(more)
2016-09-01 08:49:53 -0500 commented answer Any up-to-date tutorial/instructions to setup rosjava in Android-Studio?

this links show some details of what I did: https://github.com/irvs/ros_tms/wiki/...

2016-09-01 08:48:24 -0500 received badge  Scholar (source)
2016-08-31 04:22:44 -0500 received badge  Supporter (source)
2016-08-31 04:08:22 -0500 commented answer Any up-to-date tutorial/instructions to setup rosjava in Android-Studio?

Thank you for your comments and links! I opted for setting up the android-studio in windows by using the maven repository. I managed to create a simple rosjava android app from scratch. I am preparing a detailed tutorial that I will post here, so that beginners can face the typical issues.

2016-08-29 10:54:00 -0500 received badge  Notable Question (source)
2016-08-28 17:43:28 -0500 received badge  Popular Question (source)
2016-08-16 11:19:12 -0500 asked a question Any up-to-date tutorial/instructions to setup rosjava in Android-Studio?

I find it difficult to setup the libraries to use rosjava from an android application. the information available at wiki.ros.org refers to a bunch of pages on rosjava an related stuff, but they seem to be out-of-date, with many broken links or inaccurate descriptions.

For android development I use a windows computer with android-studio. So I would like to setup the libraries on this system too, intended for android development only, and provided that I use the predefined ros message types.

I would appreciate it a lot if anyone who has recently set up the rosjava in android-studio could give us some help and accurate descriptions on how to proceed to get the rosjava api accessible from an android app in android-studio.

thank you in advance