ros-mobile / ros-mobile-android Goto Github PK
View Code? Open in Web Editor NEWVisualization and controlling application for Android
Visualization and controlling application for Android
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
I believe that this issue happens with the SSH socket as well.
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 😄
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.
Hello
it seems that the new versions are not available in the Google Play Store.
The last version listed is 1.0.0 from 22th of May.
Michael
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 the last widget works
I added two joystick widgets and only the last modified works
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.
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):
And here is my config(clbrobot is the real robot, while ubuntu is the virtual machine, g3226 is my phone):
the machine can ping each other(I am not familiar with android so I don't know how to ping in android environment)
rosnode list and rostopic list
rosgraph and roswtf
so when I get to the info I get this:
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. 😢
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.
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
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 ?
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
Hello, I'm newbie in ROS and I'm doing this tutorial "https://github.com/samialperen/oko_slam/blob/master/doc/hector_slam_tutorial.md"
about SLAM. I have connected the phone sussesfully to Master and I can move the robot with Joystick but in Viz tab doesn't show the map. I have wroten the rostopic info map command and shows me the phone suscribed to the topic map. what could be going wrong? Thanks in advance.
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
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
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
Add tab completion in general and for ROS commands
Add ctrl-c for kill interrupt
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.
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!
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?
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!
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
#38 can not help,
i tried
export ROS_IP=SYSTEM_IP
export ROS_MASTER_URI=http://$ROS_IP:11311
export ROS_HOSTNAME=$ROS_IP
viz always black but Joystick is working
Thanks for the help
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:
POCO X3 NFC (MIUI 12.0.7)
10 QKQ1.200512.002
Hello !
The camera is working nicely ! Subscribing to a publishing image topic has been successfully displayed in the app. I've encountered two issues
All else its very nice !
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 .
@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
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?
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
When connecting to ROS master the application crashes unexpectedly.
When connecting to the ROS master
Node names contain invalid characters.
The only valid characters are a-z, A-Z, 0-9, / and _.
BaseNode.java
replace spaces with '_', and disregard other invalid characters.Similar problem can be seen here.
I want to connect jetson nano and android application via bluetooth. The signal(result of deeprunning) comes from the jetson nano to the smartphone, and I want to run the application according to the signal. Is there any way?
The application fails to choose the correct IP address for the ROS connection if different WLAN network are connected to the device, e.g. Robot WLAN and Mobile Data.
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 .
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
.
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
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.
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.
Looks like the button-widget does not set its message type correctly
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.
Thanks for all your great work so far!
It would be great if you could also add support for diagnostic messages to the app. (http://wiki.ros.org/diagnostics)
Who is maintaining the GPlay version? (wondering whether its worth to compile myself or wait for an update on GPlay)
Originally posted by @blubbi321 in #5 (comment)
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
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 ?
The paper( ROS-Mobile: An Android application for the Robot Operating System ) points out that rosJava is limited to older Android versions, so why not design a communication module based on the rosbridge protocol?
The SSH stream skips output data from time to time.
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.