ROS Navigation: Modifying/creating a new layer of costmap - c++

Currently I am trying to implement/modify layered costmaps. So we have a cost map generated by movebase from the /map topic that we are providing. Now say there is some change in the environment and I want to mark some regions as no-go regions.
These no-go regions will be reflected in a new layer of the costmap(that will be created by a node). The coordinates of these regions should ideally be subscribed to the ros node, and anytime a new set of coordinates are received on this node, the layer that we created previously should be updated.
I have tried going through the docs and tutorials on how to create a new layer, but I can't seem to get it to work with my use case.
Would love some pointers on how to implement this? Thank you!

To start with, you can try to follow the instructions from this tutorial which might be useful to you.
If this doesn't work for you, you could share your current state of the code so we can elaborate more on the specific case that you have.

Related

How do I add a new attribute to "sumo" and "veins"?

I'm a beginner.
I'm trying to research how the behavior of a vehicle changes if you set an estimated time of arrival for each vehicle using sumo and veins, and drive according to that time.
Of course, I think it would be difficult to implement this without traffic conditions and a smart navigation system, but I'm thinking of giving it a try.
Now, when I implement it, I want to add an attribute to that is not provided in sumo.
I checked the sumo file and it seems to be set in the C++ file, but I couldn't find where I should add it.
Also, I think I need to make some changes to the veins to process the data after adding it in sumo, where can I look to learn more?
Here are the tools I'm using
sumo (1.8.0) veins (5.1) omnet++ (5.6.2)
I am sorry, but I would appreciate it if someone could push this for me.
If you want to add arbitrary attributes to vehicles, this can be done using what SUMO calls "Generic Parameters". See https://github.com/eclipse/sumo/blob/v1_8_0/docs/web/docs/Simulation/GenericParameters.md for a quick explanation, see https://github.com/sommer/veins/blob/veins-5.1/src/veins/modules/mobility/traci/TraCICommandInterface.h#L167 for a way to access them from OMNeT++.

How to save data on a persistent store with rubymotion?

I tried to find the best way to store data on a local persistant store but I did not find a lot of resources about this.
I found only :
Motion model
But what is the best gem/way to make a offline app. I mean, I sync with remote one time and after that, my application uses a local storage (cora data, sqlite...) to read data?
Thank you
I use MotionModel (heck, I wrote MotionModel) but I'm biased. It's supposed to be for use-cases where you don't want to set up the Core Data stack. That said, InfiniteRed has done a great job with RMQ so it's likely they did a great job with CDQ, which wraps Core Data.
I suggest you make a play app with each and decide for yourself.
I prefer the way HipByte suggests in the Locations sample.
Check the LocationsStore class, and how they use CoreData in a very simple way.
You could also use CouchbaseLite and leverage it's sync capabilities to make the data available offline. I created an CouchbaseLite RubyMotion Example which is a port of a TodoLite-iOS version of the App. I'm currently working on making the integration nicer and more ruby like, but it works as is.

Is ubigraph capable of node selection and custom context sensitive click menus?

I want to write custom callbacks and context menus for selecting individual nodes (vertices) in ubigraph. The way I see it, the user interfacing with the server will almost always want to be able to find out more about a particular vertex, and there is a definite need to be able to do things like see if there is a path between two nodes.
Does anybody know if this can be done? I don't think it can, since the ubigraph server is closed source. Anybody with some in depth knowledge is more than welcome to provide an answer.
Here is ubigraph: http://ubietylab.net/

Node graph editor layout algorithm

I'm very much trying to do what was asked here:
http://www.qtcentre.org/threads/45028-Designing-a-Node-Editor-(Hint-Blender-Node-Editor)
Which is basically a blender style node editor using Qt. Creating rects with circles which can be drag/dropped is fairly simple to figure out (see the image below).
The issue I have is how the algorithm for connecting the circles between nodes would work. Also I don't know how this could be drawn efficiently using QGraphicsItem API's? I have seen QPainter::cubicTo() which looks like it may be the way to go?
I assume it somehow manages to find a none overlapping path? But it must also handle the case where it has to overlap?
And what about the user being able to move these lines around in case the algorithm has done a bad job? I don't think this would be simple to implement using QPainter::cubicTo() as you could only move the curves control points?
I don't think you'll get anyone posting the code for doing the whole lot here.
Well, I volunteer -- just in case someone still needs such a library.
It is a Qt-based node editor implemented on top of QGraphicsView.
A library consumer defines data models, the rest is done by the node editor.
Some features:
Model-view approach.
Models describe data types, number of input and outputs and optional embedded QWidget.
The Scene could be saved to file.
The rest similar projects were either not finished, not supported anymore or lacking some features.
https://github.com/paceholder/nodeeditor
I would suggest that you implement it without taking into consideration overlap but with the possibility of overriding how the connecting line is drawn.
It looks like there were some good replies on the Qt forum. I don't think you'll get anyone posting the code for doing the whole lot here.
Perhaps take a look at the Qt demos Graphics View/Elastic Nodes - There is code for the demo that you can use as a starting point, but it is a lot of work to get from there to something like the Blender node editor.
Another node editor to take a look at is SynthEdit or Synth Maker (has a nice one).

Building dashboards in django

I have a django app and I would like to display some graphical data visualization to my users. I am looking for an easy-to-use package that would allow me to add graphs and widgets.
The kind of widget I want to build is a kind of speedometer dial that is red at one end and green at the other. As a user completes their job over the day, the graphic/widget adjusts itself. The dial moves from red to green.
I also want an S-curve graphic that shows the cumulative amount of work accomplished against planned. That is kind of an x/y line plot.
My question are: How easy is this to implement? Are there any add-ins libraries or packages that do this already? I am trying to keep my entire application open-source. I've seen a couple subscription services that do this type of thing, but I can't stomach the cost.
I don't mind using ajax or jquery to implement such a thing, but I would like the most elegant and maintainable solution.
Any advice or examples on how to tackle this project?
There are lots of good javascript libraries these days, but all require some effort to learn how to use. I have not found one that really is easy to use, I guess because everyone wants something different. My general experience has been the more effort you put into learning them, the more you get out.
Google has gauges: http://code.google.com/apis/chart/interactive/docs/gallery/gauge.html
Also
http://www.flotcharts.org/
http://philogb.github.com/jit/
http://www.highcharts.com/
http://www.jqplot.com/
Or really take control:
http://mbostock.github.com/protovis/
As first, see the following grid (https://www.djangopackages.com/grids/g/dashboard-applications/) on djangopackages.
Not sure if that's exactly what's asked for, but you might take a look at django-dash (https://pypi.python.org/pypi/django-dash).
It allows each user to make his own dashboard (from plugins available). Those dashboards can be made public.
Some screenshots (http://pythonhosted.org/django-dash/#screenshots).
It's modular and plugin based, so you need to make a plugin and widgets for every specific feature (in this particular case - the speedometer plugin and widgets for it). Each plugin/widget can include own JS/CSS when being rendered.
See the following chart usage examples:
D3.js integration examples (https://github.com/barseghyanartur/django-dash/tree/master/example/example/d3_samples).
Polychart2.js integration example (https://github.com/barseghyanartur/django-dash/blob/master/example/example/bar/).
protovis is no longer under active development, but they started a new poject: http://d3js.org/
You may choose from these packages:
https://www.djangopackages.com/search/?q=dash