Metapackage for the official rosjava repositories.
See the rosjava_core readme for more details.
Android based remote controllers for 1-1 robot pairing and multi-robot concerts.
Metapackage for the official rosjava repositories.
See the rosjava_core readme for more details.
That is also true for the apps launched by the remocon.
However, when starting the apps directly - and connecting to the private master - the battery statuses are shown.
Maybe this is due to unflipped topics for the battery statuses?
I think this may structure the input - this might need to get changed, might not.
Get your Konglish straight dan!
LIstener works in standalone connections, but fails to display anything in paired connections.
Would be nice if this situation could be handle more nicely, e.g. throw and catch an exception and return to master chooser screen.
Switching between running app, robot remocon app list and back again is causing it to go out of memory.
12-30 00:25:27.522 1452-3824/com.github.rosjava.android_remocons.robot_remocon E/dalvikvm-heap﹕ Out of memory on a 65552-byte allocation.
12-30 00:25:27.522 1452-3824/com.github.rosjava.android_remocons.robot_remocon I/dalvikvm﹕ "pool-33-thread-24" prio=5 tid=667 RUNNABLE
12-30 00:25:27.522 1452-3824/com.github.rosjava.android_remocons.robot_remocon I/dalvikvm﹕ | group="main" sCount=0 dsCount=0 obj=0x43ece310 self=0x6abc4098
12-30 00:25:27.522 1452-3824/com.github.rosjava.android_remocons.robot_remocon I/dalvikvm﹕ | sysTid=3824 nice=0 sched=0/0 cgrp=apps handle=1572155112
12-30 00:25:27.522 1452-3824/com.github.rosjava.android_remocons.robot_remocon I/dalvikvm﹕ | state=R schedstat=( 0 0 0 ) utm=28 stm=3 core=0
12-30 00:25:27.522 1452-3824/com.github.rosjava.android_remocons.robot_remocon I/dalvikvm﹕ at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
12-30 00:25:27.522 1452-3824/com.github.rosjava.android_remocons.robot_remocon I/dalvikvm﹕ at java.nio.MemoryBlock.allocate(MemoryBlock.java:126)
12-30 00:25:27.522 1452-3824/com.github.rosjava.android_remocons.robot_remocon I/dalvikvm﹕ at java.nio.ReadWriteDirectByteBuffer.<init>(ReadWriteDirectByteBuffer.java:46)
12-30 00:25:27.522 1452-3824/com.github.rosjava.android_remocons.robot_remocon I/dalvikvm﹕ at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:68)
12-30 00:25:27.522 1452-3824/com.github.rosjava.android_remocons.robot_remocon I/dalvikvm﹕ at org.jboss.netty.channel.socket.nio.SocketSendBufferPool$Preallocation.<init>(SocketSendBufferPool.java:158)
12-30 00:25:27.522 1452-3824/com.github.rosjava.android_remocons.robot_remocon I/dalvikvm﹕ at org.jboss.netty.channel.socket.nio.SocketSendBufferPool.<init>(SocketSendBufferPool.java:40)
12-30 00:25:27.522 1452-3824/com.github.rosjava.android_remocons.robot_remocon I/dalvikvm﹕ at org.jboss.netty.channel.socket.nio.AbstractNioWorker.<init>(AbstractNioWorker.java:123)
12-30 00:25:27.522 1452-3824/com.github.rosjava.android_remocons.robot_remocon I/dalvikvm﹕ at org.jboss.netty.channel.socket.nio.NioWorker.<init>(NioWorker.java:44)
12-30 00:25:27.522 1452-3824/com.github.rosjava.android_remocons.robot_remocon I/dalvikvm﹕ at org.jboss.netty.channel.socket.nio.NioWorkerPool.createWorker(NioWorkerPool.java:34)
12-30 00:25:27.522 1452-3824/com.github.rosjava.android_remocons.robot_remocon I/dalvikvm﹕ at org.jboss.netty.channel.socket.nio.NioWorkerPool.createWorker(NioWorkerPool.java:26)
12-30 00:25:27.522 1452-3824/com.github.rosjava.android_remocons.robot_remocon I/dalvikvm﹕ at org.jboss.netty.channel.socket.nio.AbstractNioWorkerPool.<init>(AbstractNioWorkerPool.java:58)
12-30 00:25:27.522 1452-3824/com.github.rosjava.android_remocons.robot_remocon I/dalvikvm﹕ at org.jboss.netty.channel.socket.nio.NioWorkerPool.<init>(NioWorkerPool.java:29)
12-30 00:25:27.522 1452-3824/com.github.rosjava.android_remocons.robot_remocon I/dalvikvm﹕ at org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory.<init>(NioServerSocketChannelFactory.java:131)
12-30 00:25:27.522 1452-3824/com.github.rosjava.android_remocons.robot_remocon I/dalvikvm﹕ at org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory.<init>(NioServerSocketChannelFactory.java:115)
12-30 00:25:27.522 1452-3824/com.github.rosjava.android_remocons.robot_remocon I/dalvikvm﹕ at org.ros.internal.transport.tcp.TcpRosServer.start(TcpRosServer.java:78)
12-30 00:25:27.522 1452-3824/com.github.rosjava.android_remocons.robot_remocon I/dalvikvm﹕ at org.ros.internal.node.server.SlaveServer.start(SlaveServer.java:83)
12-30 00:25:27.522 1452-3824/com.github.rosjava.android_remocons.robot_remocon I/dalvikvm﹕ at org.ros.internal.node.DefaultNode.<init>(DefaultNode.java:150)
12-30 00:25:27.532 1452-3824/com.github.rosjava.android_remocons.robot_remocon I/dalvikvm﹕ at org.ros.node.DefaultNodeFactory.newNode(DefaultNodeFactory.java:41)
12-30 00:25:27.532 1452-3824/? I/dalvikvm﹕ at org.ros.node.DefaultNodeMainExecutor$2.run(DefaultNodeMainExecutor.java:139)
12-30 00:25:27.532 1452-3824/? I/dalvikvm﹕ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
12-30 00:25:27.532 1452-3824/? I/dalvikvm﹕ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
12-30 00:25:27.532 1452-3824/? I/dalvikvm﹕ at java.lang.Thread.run(Thread.java:856)
12-30 00:25:27.532 1452-3824/? I/dalvikvm﹕ [ 12-30 00:25:27.552 1902: 1932 I/ThermalDaemon ]
Sensor 'tsens_tz_sensor9' - alarm cleared 1 at 60.0 degC
Split it out so it can be shared.
Potentially https://github.com/ros-java/android_extras or https://github.com/ros-java/android_apps.
This is a new bug I just introduced (good at that!). Crashes after trying to look for non-existant robot.
when we start the talker app, the app is died.
following error message
01-16 15:15:35.668 30529-2086/com.github.rosjava.android_remocons.robot_remocon D/ApplicationManagement﹕ start app service client created [/cybernetic_pirate/start_app]
01-16 15:15:35.743 30529-2086/com.github.rosjava.android_remocons.robot_remocon W/ApplicationManagement﹕ start app service not found [/cybernetic_pirate/start_app]
01-16 15:15:35.743 30529-2086/com.github.rosjava.android_remocons.robot_remocon W/dalvikvm﹕ threadid=86: thread exiting with uncaught exception (group=0x414df2a0)
01-16 15:15:35.743 30529-2086/com.github.rosjava.android_remocons.robot_remocon E/AndroidRuntime﹕ FATAL EXCEPTION: pool-21-thread-61
org.ros.exception.RosRuntimeException: org.ros.exception.ServiceNotFoundException: No such service /cybernetic_pirate/start_app of type rocon_app_manager_msgs/StartApp
at com.github.rosjava.android_apps.application_management.AppManager.startApp(AppManager.java:138)
at com.github.rosjava.android_apps.application_management.AppManager.onStart(AppManager.java:203)
at org.ros.internal.node.DefaultNode$5.run(DefaultNode.java:506)
at org.ros.internal.node.DefaultNode$5.run(DefaultNode.java:503)
at org.ros.concurrent.EventDispatcher.loop(EventDispatcher.java:43)
at org.ros.concurrent.CancellableLoop.run(CancellableLoop.java:56)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
at java.lang.Thread.run(Thread.java:856)
Caused by: org.ros.exception.ServiceNotFoundException: No such service /cybernetic_pirate/start_app of type rocon_app_manager_msgs/StartApp
at org.ros.internal.node.DefaultNode.newServiceClient(DefaultNode.java:356)
at org.ros.internal.node.DefaultNode.newServiceClient(DefaultNode.java:372)
at com.github.rosjava.android_apps.application_management.AppManager.startApp(AppManager.java:134)
at com.github.rosjava.android_apps.application_management.AppManager.onStart(AppManager.java:203)
at org.ros.internal.node.DefaultNode$5.run(DefaultNode.java:506)
at org.ros.internal.node.DefaultNode$5.run(DefaultNode.java:503)
at org.ros.concurrent.EventDispatcher.loop(EventDispatcher.java:43)
at org.ros.concurrent.CancellableLoop.run(CancellableLoop.java:56)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
at java.lang.Thread.run(Thread.java:856)
Rocon android and dependencies (e.g. rosjava_jmdns) should use proper com.github.xxx namespaces.
Move what we have into https://github.com/ros-java/android_extras
NFC could actually provide ESSID and rocon remocon information as well so you wouldn't even need to fire up the remocon to initiate it.
Does that mean it is redundant having it in the robot chooser?
This needs recompiling to match all the possible name/msg updates and refactorings.
Master is a moving target that we can't commit development time to keep up with as we don't have anyone continuously working on the android code.
To avoid confusion, base our development branch off the core hydro branches and update to igloo when the cores have stable igloo branches as well.
Could use a README.md in the package folder explaining how to use it.
Even the app has started in the tablet, it is hard to now whether rapp in the robot has been started properly or not.
So does stopping.
turtlebot/turtlebot_android#10
[Daniel] add general introspection to this idea.
@corot : just wanting to confirm that nfc writer support is not available before jellybean (you've set minimum sdk to api level 18)..
I didn't make a deep research but it doesn't seem to work. What is quite normal, as it has not been tested for ages! Now it's used with:
Working device:
Not working:
Currently sitting in graveyard till I pull it out.
Currently just checks a robot status to see if it's remote controlled and will block access to that robot if it's true.
This is true, even when that remote controller is the android itself (i.e. the paired master). This will happen is crash situations and also if auto-invite is on.
Solution: Remocon should check its own gateway name and see if that matches the status provided name and allow anyway.
In some use cases the robot will move out of the reach of the paired android device. We had such a use case during ICRA, when wanted the turtlebot to follow people and robots even outside the reach of our AP. This only worked, if we started the robot app manually on the robot.
Hence, t would be nice, if
Doesn't look like automatic robot (app manager) discovery works at the moment.
There is some delay between the paring master (public) is available (robot_remocon finds it) and it being fully configured/ready. I currently believe this is the time interval when the pushing and pulling is going on. If the robot_remocon connects during that time it crashes 100% of the time.
It always picks 3g ip address instead of wifi ip address after android version 4.x
Cannot start listener directly with an app manager in pairing mode or standalone mode.
As such it is not showing up in the introspection tools for interactions.
mostly when goes into app and return to remocon.
It shouldn't be selectable if no ros master has been found by zeroconf yet.
Take what we have in the graveyard and put it in https://github.com/ros-java/android_extras
Just like the apps do. Not scalable having an icon database in the app itself.
Add invitation initiation and handling to the remocon.
Should drop back to the robot list view.
Android studio downloads 3 versions of the application to the device....????
sometimes when I pressed back button from app to return to remocon
it couldn't find platform_info service and shutdown
When there is no ROS_IP configuration, the android remoticon crashes and burns.
Its always confusing, so show a popup instead reminding the user to set their ROS_IP.
try {
Log.i("RosAndroid", "List app service client created" + listTopic);
listAppsClient = connectedNode.newServiceClient(listTopic,
GetAppList._TYPE);
} catch (ServiceNotFoundException e) {
throw new RosRuntimeException(e);
}
Libraries! IP connector, QR Code connector, etc.
Share these with the legacy app manager too.
This was leftover from a bygone age, not sure it's being used anymore. Example:
display: Talker
description: Default ros style talker tutorial
platform: linux.ros.*
launch: rocon_apps/talker.launch
interface: rocon_apps/talker.interface
icon: rocon_apps/rocon_bubble.png
pairing_clients:
- type: android
manager:
api-level: 9
intent-action: com.github.ros_java.android_apps.listener.Listener
app:
gravityMode: 0
base_control_topic: /cmd_vel
Dont know if even the api-level is getting checked. I suspect the app variables are parameters to pass to the app, which would be quite useful.
Doesn't exist anymore (it's legacy from old PR2 android client) but will make robot remocon fail if it's not null in the MasterId object that stores the master connection data of a robot.
Information on how to use the headless launcher with the nfc_rocon_writer
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.