Giter Club home page Giter Club logo

ros-mobile-android's People

Contributors

lamecube avatar marcus-davi avatar naivehobo avatar nicostudt 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ros-mobile-android's Issues

Unable to connect to a given IP address

I've tried using both the GPlay app and the compiled .apk and failed to connect to a given IP address to rosmaster.

I'm currently testing the application in Android Studio and even though I'm not an expert Java programmer I identified that the IP is somewhat hardcored - meaning that no matter what I insert as the master IP, it always tries to connect to "192.168.0.0". I've changed in the source code every entry of "192.168.0.0" to my local IP and it worked. (Tested publishing the joystick only)

I've changed the IPs in the files

  • ConfigModels.java
  • ConfigDatabase.java

I believe that this issue happens with the SSH socket as well.

Widget improvements

Hey, I just gave the thing a go from the play store and I gotta say it's pretty neat!

Some feedback:

  • there doesn't seem to be a way to delete added widgets, but I see that's in screenshots here so I assume the store version isn't completely up to date yet?

  • instead of having to set the X and Y values of widgets, wouldn't it be better to have a "movement mode" or tab, where widgets would be inactive and you could press and drag them around to make a good layout? would save a lot of time imo

SSH also seems to stop responding to new commands if I run a blocking roslaunch, so there's probably something to think about regarding adding a way to sent a ctrl-c kill interrupt, but that's not really too problematic.

Looking forward to seeing where you go with this 😄

Installing Instructions

Congratulations on sharing this library.
I downloaded the repository to try to compile with Android Studio 4.1.1
When compiling, I always get error "> Missing Ament Gradle property: ament.build_space"
Is it essential to compile on the PC where ROS is installed or am I wrong something?

I apologize if this is not the right place to ask questions.

GirdMap isn't Display For origin: [-5.250000, -5.050000, 0.000000] of file .yaml

In navigation mode,For the topic of /map ,GirdMap isnot Display;

Modify the contents of file .yaml,
Change origin: [-5.250000, -5.050000, 0.000000] of file .yaml to origin: [-0.000000, -0.000000, 0.000000] of file .yaml ,the topic of /map ,GirdMap is Display OK;

Excuse me, why can't origin: [-5.250000, -5.050000, 0.000000] of file .yaml ,the topic of /map ,GirdMap isn't Display

Only one widget of type works

What is the issue:

Only the last widget works

Where/When:

I added two joystick widgets and only the last modified works

Why

In RosRepository.java when a change is made, that node with the default name is getting reregistered this.reregisterNode(node);` on line 265, therefore taking precedence over the others. This is due to the fact that only one node with a particular name can be active at any moment in time.

Solution

  1. Append a UUID to unnamed nodes's default name
  2. Warn the user of the naming conflict

Issue with compressed image subscription

I am testing a webcam for my robot. I am using a virtual machine with ubuntu 18.04 to ssh the actual robot. The robot is jetson nano equipped with ubuntu 18.04, too. Now I was trying to hook up the app to the machine. The /cmd_vel works fine, but the camera is not working. I check for some issues on the board and I make sure that ufw is down.
First, my cam is working(view from virtual ubuntu):
image_view
And here is my config(clbrobot is the real robot, while ubuntu is the virtual machine, g3226 is my phone):
etc and bashrc
the machine can ping each other(I am not familiar with android so I don't know how to ping in android environment)
pinging
rosnode list and rostopic list
list
rosgraph and roswtf
rosgraph2
wtf
so when I get to the info I get this:
info
The node can contact each other however the topic is not transmitted inbound to the node. I am confused.
I am having a hard time looking for the answer, they always link to the network and multiple machine tutorial page.
It is my first time writing stuff like this so maybe the question sounds silly but please help me because I have been stuck here for like two weeks. 😢

Detail: Red 'Disconnect'-button as feedback for succesful connection is suprising

Just a minor detail, but after clicking the blue 'Connect' button I had expected a positive response from the app, but got a red 'disconnect' button which looks like a negative feedback to me.
How about adding a 'Connection State' label next to the 'Disconnect' button?

I could have time to implement such a feature, but not in the next weeks.

Error: "Using insecure protocols with repositories" (Android Studio 2021.3.1. P2)

Hi,

I cloned the master branch and when trying to build in Android Studio (2021.3.1. P2), I get:

A problem occurred configuring root project 'RosAndroid'.
> Could not resolve all dependencies for configuration ':classpath'.
   > Using insecure protocols with repositories, without explicit opt-in, is unsupported. Switch Maven repository 'maven(http://repository.springsource.com/maven/bundles/release)' to redirect to a secure protocol (like HTTPS) or allow insecure protocols. See https://docs.gradle.org/7.0.2/dsl/org.gradle.api.artifacts.repositories.UrlArtifactRepository.html#org.gradle.api.artifacts.repositories.UrlArtifactRepository:allowInsecureProtocol for more details. 

Seems that this is caused by the call to https://github.com/rosjava/rosjava_bootstrap/raw/kinetic/buildscript.gradle in
build.gradle:

 maven {
            url "http://repository.springsource.com/maven/bundles/release"
        }
        maven {
            url "http://repository.springsource.com/maven/bundles/external"

Does not sound like a big issue, but I would like to resolve without breaking things, so any help is appreciated

Kai

Not getting any messages

I've set up a remote ubuntu server with a master and node. The node is continuously publishing random values on a topic /chatter which I can see when I use rostopic echo /chatter. I've connected my Android device to the same LAN by creating a VPN and I can ssh into the server and also connect to the master.

When creating a Debug widget I can see all the topics which are available to subscribe but on subscribing I'm not getting any messages, while using rostopic echo /chatter on the server I can see the messages.

Why is this an issue and am I doing something incorrectly ?

port to ROS2

Hello,

Thank you so much for this really good application !

I have been using it a bit in ROS 2 but it is a pain to use a ROS bridge to make it work.
Is there a way to port this application to ROS2 without using a bridge ?

Or are there other applications out there that are ROS2 compatible?
For now I only need the joystick feature.

Regards,
cocodmdr

Certain map resolutions shows incorrectly

When I use a map of size 1024 x 1024 it's weirdly cropped and when I use a map of size 512 x 512 doesn't show at all. Resolutions 1025 and 1023 are fine. The same goes with 512 map resolution. I guess there is something wrong with an exponent of two resolutions.

Screenshot_20210803-201923

W/InputEventReceiver: Slow Input: 878ms so far, now at dispatchInputEvent (MotionEvent: event_seq=274, seq=643867, action=ACTION_MOVE)

excellent job thanks, and I got "Slow Input" ,why joystick runs stuck

2021-09-01 20:57:31.491 31527-31527/com.schneewittchen.rosandroid W/Choreographer: OPTS_INPUT: First frame was drawed before optimized, so skip!
2021-09-01 20:57:33.506 31527-31544/com.schneewittchen.rosandroid I/chen.rosandroi: Background concurrent copying GC freed 511776(15MB) AllocSpace objects, 27(4MB) LOS objects, 20% free, 92MB/116MB, paused 341us total 107.380ms
2021-09-01 20:57:34.553 31527-31527/com.schneewittchen.rosandroid W/Choreographer: OPTS_INPUT: First frame was drawed before optimized, so skip!
2021-09-01 20:57:34.554 31527-31527/com.schneewittchen.rosandroid I/Choreographer: Skipped 52 frames! The application may be doing too much work on its main thread.
2021-09-01 20:57:34.558 31527-31527/com.schneewittchen.rosandroid W/InputEventReceiver: Slow Input: 373ms so far, now at dispatchInputEvent (MotionEvent: event_seq=163, seq=643532, action=ACTION_MOVE)
2021-09-01 20:57:34.561 31527-31527/com.schneewittchen.rosandroid W/Looper: Slow Looper main: doFrame is 869ms late because of 2 msg, msg 1 took 877ms (late=1ms h=android.os.Handler c=androidx.lifecycle.LiveData$1)
2021-09-01 20:57:34.564 31527-31769/com.schneewittchen.rosandroid I/OpenGLRenderer: Davey! duration=878ms; Flags=0, IntendedVsync=202397194998037, Vsync=202398061664669, OldestInputEvent=202397245002000, NewestInputEvent=202397694459000, HandleInputStart=202398067046817, AnimationStart=202398068734734, PerformTraversalsStart=202398068737286, DrawStart=202398069032547, SyncQueued=202398069139994, SyncStart=202398069202755, IssueDrawCommandsStart=202398069321609, SwapBuffers=202398070967286, FrameCompleted=202398073175828, DequeueBufferDuration=465000, QueueBufferDuration=1652000,
2021-09-01 20:57:35.111 31527-31527/com.schneewittchen.rosandroid W/Choreographer: OPTS_INPUT: First frame was drawed before optimized, so skip!
2021-09-01 20:57:38.863 31527-31544/com.schneewittchen.rosandroid I/chen.rosandroi: Background concurrent copying GC freed 832529(24MB) AllocSpace objects, 0(0B) LOS objects, 20% free, 92MB/116MB, paused 387us total 113.705ms
2021-09-01 20:57:40.003 31527-31527/com.schneewittchen.rosandroid W/Choreographer: OPTS_INPUT: First frame was drawed before optimized, so skip!
2021-09-01 20:57:41.324 31527-31544/com.schneewittchen.rosandroid I/chen.rosandroi: Background concurrent copying GC freed 625423(20MB) AllocSpace objects, 0(0B) LOS objects, 18% free, 104MB/128MB, paused 337us total 110.753ms
2021-09-01 20:57:44.745 31527-31527/com.schneewittchen.rosandroid W/Choreographer: OPTS_INPUT: First frame was drawed before optimized, so skip!
2021-09-01 20:57:50.255 31527-31527/com.schneewittchen.rosandroid W/InputEventReceiver: Slow Input: 878ms so far, now at dispatchInputEvent (MotionEvent: event_seq=274, seq=643867, action=ACTION_MOVE)
2021-09-01 20:57:58.031 31527-31527/com.schneewittchen.rosandroid W/InputEventReceiver: Slow Input: 886ms so far, now at dispatchInputEvent (MotionEvent: event_seq=393, seq=644189, action=ACTION_MOVE)
2021-09-01 20:57:58.032 31527-31527/com.schneewittchen.rosandroid W/InputEventReceiver: Slow Input: 822ms so far, now at dispatchInputEvent (MotionEvent: event_seq=394, seq=644191, action=ACTION_UP)
2021-09-01 20:58:00.455 31527-31527/com.schneewittchen.rosandroid W/Choreographer: OPTS_INPUT: First frame was drawed before optimized, so skip!
2021-09-01 20:58:02.304 31527-31527/com.schneewittchen.rosandroid W/Choreographer: OPTS_INPUT: First frame was drawed before optimized, so skip!
2021-09-01 20:58:03.307 31527-31544/com.schneewittchen.rosandroid I/chen.rosandroi: Background concurrent copying GC freed 844660(25MB) AllocSpace objects, 0(0B) LOS objects, 18% free, 104MB/128MB, paused 410us total 100.867ms
2021-09-01 20:58:04.255 31527-31527/com.schneewittchen.rosandroid W/Choreographer: OPTS_INPUT: First frame was drawed before optimized, so skip!
2021-09-01 20:58:06.586 31527-31527/com.schneewittchen.rosandroid W/InputEventReceiver: Slow Input: 350ms so far, now at dispatchInputEvent (MotionEvent: event_seq=438, seq=644336, action=ACTION_MOVE)
2021-09-01 20:58:06.587 31527-31527/com.schneewittchen.rosandroid W/InputEventReceiver: Slow Input: 335ms so far, now at dispatchInputEvent (MotionEvent: event_seq=439, seq=644338, action=ACTION_UP)
2021-09-01 20:58:09.662 31527-31544/com.schneewittchen.rosandroid I/chen.rosandroi: Background concurrent copying GC freed 859348(25MB) AllocSpace objects, 85(6MB) LOS objects, 17% free, 110MB/134MB, paused 297us total 103.765ms
2021-09-01 20:58:19.007 31527-31574/com.schneewittchen.rosandroid I/chen.rosandroi: Waiting for a blocking GC ProfileSaver
2021-09-01 20:58:19.018 31527-31544/com.schneewittchen.rosandroid I/chen.rosandroi: Background concurrent copying GC freed 843994(25MB) AllocSpace objects, 0(0B) LOS objects, 17% free, 112MB/136MB, paused 184us total 118.964ms
2021-09-01 20:58:19.018 31527-31574/com.schneewittchen.rosandroid I/chen.rosandroi: WaitForGcToComplete blocked ProfileSaver on HeapTrim for 11.196ms

test with noetic was succesful

Thank you for this nice app! I'm looking forward to use it when I found out how.

I tried your gazebo tutorial example. rviz on a second PC was able to connect remotely to the Master PC but ROS-Mobile did not connect.

ssh connect also did not work.

ssh with a different app(Termux) on the same device did work

Not able to visualize SLAM from rviz on the mobile app on topic /map

Have a similar issue than this closed one: #38 #38 and its solution of editing the bashrc file (with the commands from issue #38 of exporting ROS_IP and Master URI using this https://answers.ros.org/question/206876/how-often-do-i-need-to-source-setupbash/ did not work for me . I am attaching it as well The ROS1 melodic is installed on a raspberry pi 4 utilizing lidar sensor rplidar A1 . The SSH and Master URI are able to successfully connect. I run roscore before anything and utilized the commands for export ROS_IP , export ROS_MASTER_URI and export ROS_HOSTNAME. I am able to successfully export to a pc with ROS installed and see the rviz simulation from there. Is there anything that I could be doing wrong with the subscription to the topics in rviz ?
Do you have an image on how it should display the map topic on the gridMap with SLAM ?
Thanks for the help

163221971_471159194031564_7394904368186905718_n
163062268_172485101364986_2164913282364909108_n
164351907_3226670950768708_3243319609594789390_n
164483762_452765199367656_5653779375901678839_n
163076921_406538924102128_6497237695942040200_n
164826803_155643959755297_1304684363003790482_n
163634538_144491580916717_6539565642695079646_n (1)

SSH Improvements

  1. Add tab completion in general and for ROS commands

  2. Add ctrl-c for kill interrupt

Joystick continues to send zero-velocity commands

I started to test the app as it looks very useful for mapping runs or a quick state check. I noticed that the joystick continues to send cmd_vel-messages after I stopped to use the widget. These commands then interferes with other commands until I close the app.

I suggest to only send zero-commands for maybe one second after the user released the joystick to bring the robot to a stop so that normal operation (e.g via MoveBase) can be restarted with a Button-press.

Signal plot and battery level

Hi and thanks for this great tool.
I just wanted to know if there's any prospects for adding a plot widget (much like rqt_plot).
On the same topic, a robot battery level indicator could be quite useful.

Looking forward to seeing future updates on this project!

Unable to connect to master

I'm trying to connect to the master node running on my PC. Actually, I'm using my smartphone as Wi-fi hotspot and my PC is connected to it. I have writed the ip address of the master node in the specific field of the app but when I clicked on the "connect" button the app is not able to perform the action.
Have you any idea what is going wrong?

Connecting to Localhost roscore with Android emulator

Is there a way to connect to a roscore on my localhost while running the app via the Android studio emulator? I set the Master URL to be 10.0.2.2 which according to the documentation reroutes to where localhost is. On my local machine I see the topics showing up, but topic data doesn't seem to be going between the two. Thanks!

Joystick not working

Dear team,
I just installed the app on my android emulator (android 5.1). I am using raspberry pi running on Ubuntu 18.04 (supported by ros melodic). I am trying to use joystick to teleop my robot .However, after successfully connecting the app with my pi (I can do rostopic list and i see /cmd_vel ), the joystick seems not to publish any Twist msg (I echo /cmd_vel). Can anyone help me please ? I really appreciate it !
Regards,
GodMiu

Not working, can't connect to ROS master

The app seems to be completely unusable, can't connect either to ROS master or to SSH, the ip:port is alright, I even tried to connect from another app (ROS Control) using the same phone, and it works!

Here a recording of my screen:

ROS-Mobile

Additional Information

Phone:

POCO X3 NFC (MIUI 12.0.7)

Android version

10 QKQ1.200512.002

Camera drawing and Compressed image md5sum (branch : MapView2)

Hello !

The camera is working nicely ! Subscribing to a publishing image topic has been successfully displayed in the app. I've encountered two issues

  • The compressed image message seems to be still not updated for ROS Noetic, and not yet tested on previous ROS versions. The raw image worked just fine.
  • Whenever changing the box dimensions in the DETAILS menu, sometimes the outline drawing box does not fit the camera image. Maybe it is related to the aspect ration, which has to be preserved ? 4 width x 3 height and multiples are OK, but anything else has weird behavior, like the camera image appearing in the middle of the VIZ menu and the outline box not involving the image at all (in case of 9 width x 2 height). I am aware that's quite an absurd image ratio, but I think it should be addressed somehow. Maybe forcing constant ratio for the camera dimensions or re-scaling the image.

All else its very nice !

Subscribing to tf messages from widgets

Hi ,
I have added widgets which can display odometry and Lidar data in view tab. Now I want to subscribe to tf messages
which will be used in all other sensors data widgets like odometry, lidar etc
So, I want to know that , is there any way to receive 2 different ros msg types in single widget or else,
is it possible to receive tf message in new widget and which can communicate with other widgets to transfer data??

Thanks in advance .

Related questions about the button function

@Cycov
Hello, for this software, the function is relatively complete at present, but the fly in the ointment is that the bool-type button of the button is not continuous to the message, so I cannot judge the message of the button during the use, so can I Add a function that can continuously publish information

Named Master Node URI

On my tablet, only numbers can be used to specify the Master URL, but the name is much easier to remember. Same with the IP Address for SSH connection. Would it be possible to change the keyboard to allow named entries as well?

Crash on connecting to server

I got an auto update of the app (2.1) to my phone (Samsung S8) yesterday.

Connecting to a ros master now crashes the app immediately. Tried to reinstall but the issue persists.

Let me know if I can assist with log etc in case you cannot reproduce the issue.

just in case others have the same issue: it is great that you guys provide the apks as well - 2.0.0 is here: https://github.com/ROS-Mobile/ROS-Mobile-Android/blob/13a394e0f57f6cba98546904fa1911ab1f9ef947/app/release/app-release.apk

Invalid graph name

What is the issue:

When connecting to ROS master the application crashes unexpectedly.

Where/When:

When connecting to the ROS master

Why

Node names contain invalid characters.
The only valid characters are a-z, A-Z, 0-9, / and _.

Solution

  1. In BaseNode.java replace spaces with '_', and disregard other invalid characters.
  2. When the user tries to rename the node, warn and don't let him close the rename dialog

Similar problem can be seen here.

Gesture operation caused "pointerIndex out of range"

I used the gesture dector and GridMapView(the bitmap version) which in your project in my source code.
When I triggered a gesture operation(often scale), use more than two fingers. It's usually crashed. Here is the code caused carsh.

here is the code with problems:

The error logs :

at android.view.MotionEvent.nativeGetAxisValue(Native Method)
        at android.view.MotionEvent.getX(MotionEvent.java:2201)
        at **.widget.map.MatrixGestureDetector.onTouchEvent(MatrixGestureDetector.java:57)
        at **.widget.map.MapView.onTouch(MapView.java:282)
        at android.view.View.dispatchTouchEvent(View.java:11793)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2970)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2657)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2970)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2657)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2970)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2657)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2970)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2657)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2970)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2657)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2970)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2657)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2970)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2657)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2970)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2657)
        at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:451)
        at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1834)
        at android.app.Activity.dispatchTouchEvent(Activity.java:3375)
        at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69)
        at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:413)
        at android.view.View.dispatchPointerEvent(View.java:12038)
        at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4859)
        at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4670)
        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4206)
        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4259)
        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4225)
        at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4352)
        at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4233)
        at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4409)
        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4206)
        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4259)
        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4225)
        at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4233)
        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4206)
        at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6766)
        at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6740)
        at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6701)
        at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6872)
        at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:249)
        at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
        at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:212)
        at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:6840)
        at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:6895)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1029)
        at android.view.Choreographer.doCallbacks(Choreographer.java:841)

And I found you show the GridMap by using 'opengl' instead of 'bitmap', why? Thanks .

GridMapView stride issue

Hey, thanks for this good app, it helps me understand ROS messages as a beginner.

I'm working on drawing OccupancyGrid on Android, and taking your GridMapView as reference.

A small issue I saw in the GridMapView is that tile.setStride()on current master branch is not correct.

The stride should be the width of data in that tile, not the width of the entire grid.

I changed it into something like

val isLastColumn =  x == numTilesWide - 1
val stride = if (isLastColumn) {
    width.mod(TextureBitmap.STRIDE)
} else {
    TextureBitmap.STRIDE
}
tiles[tileIndex].setStride(stride)

Also in this class, all the TextureBitmap.STRIDE should be TextureBitmap.HEIGHT when used with y.

No Images sent to Mobile Device

I did not receive images from my camera which is mounted on a jackal robot. Error:

2020-08-07 14:50:36.929 24054-24199/com.schneewittchen.rosandroid E/UpdatePublisherRunnable: java.lang.RuntimeException: java.net.UnknownHostException: Unable to resolve host "cpr-j100-0406": No address associated with hostname

Selector Knob Widget idea

I've been using the app on a project for some time now, and the thing I've noticed seems to be an issue is sending custom data from the app that isn't a Bool. Say if you want to switch modes, or adjust a number value higher and such.

An interesting way to do that I think would be to have a knob, where you could specify the ticks. A basic one would be say 1, 2, 3, 4, 5, etc. but having something like HOME, NAV, STOP, TELEOP or something of the sort. I'm not sure if it would be viable to have the user hold and drag to rotate it (and then snap to nearest option), but even just tapping it and having it increment and sending the current setting as a topic publish would be great. That way one could modify more complex settings. Doing it all as a std_msgs/String would probably be good enough.

Of course it would also be neat if we could have regular buttons send a custom message or call a service onpress only (and not have it send anything on unpress like it does now), but that's another story.

Multiple Viz screens

Something that I often found was that the main Viz widget screen tends to be a bit small to do it all. If you've got a joystick and maybe a gps screen you've already used up most of the space.

It's especially a problem when trying to have a debug output widget, where it has to be super small if you want to do anything else in paralel.

So what I'd propose is somehow expanding the Viz screen in one of these ways:

  • add a number screen dropdown option beside the widget position coords, then display a Viz0, Viz1, etc. tab assuming there are some widgets that have it set as the target

  • don't change the way the coords are adjusted, but instead let the user pan around the Viz window with either swiping (like android desktop basically) or with some tiny arrows on the right and left top/bottom side

The second option is probably easier to implement but less intuitive (especially with a swipe pan), as there's nothing that really shows the user it's there. The first one would also be a bit easier in terms of setting up the widgets, since you wouldn't have to work with large coordinates.

The application closes when I press the connect button.

I want to realize the simulation environment on the computer with control the mobile application. But when I click on the connection button, the text connected is displayed and the application closes. How can i solve this problem.
I will be glad if you help me.

Rviz launch error

I am trying to run differential robot with gmapping from mobile teleop is working but the map is not displaying I'm getting qt error
Screenshot_20210316-112501

Logger crashes when selecting topic name

Hi, great app!

Unfortunately I'm struggling with the logger viz, I find that when connected to ROS master (Noetic) and I tap on the topic name to select which one to log the app crashes.

Running version 1.2 on Android 10

Cheers

GPS Map draw without internet

Hello !

The APP is very stable and working properly. However, I often find myself connected to the mobile robot own network, and my Android is unable to access internet. This makes the app unable to draw the GPS location within the map. I wonder if is there any way I can download the offline map for a certain location ? How is it supposed to work without internet access ?

SSH Connection data not saved

If you use the SSH tab and change the IP adress, username and password and then at some point reopen the app, the data is not saved. Instead the default ssh values are there.

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.