Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
Im trying to analyze which software products out there, that could fit into a product idea.
I want a robotic simulation tool, that can show a model of a
selfdrawn robot.
It shall be possible to control the selfdrawn robot through a
programming interface. C,java,c++.. or maybe multiple or a selfdescribed
programming interface.
In order to make this product easy to use, the programming interface
should be simple for the user and the execution of the code on the
drawn model aswell.
It has to run on windows.
Eather im looking for a tool that can do all these things, or im looking for a tool that is easy to change/extend for the wanted look and feel.
Plaese help if you have some good tips within this subject.
It depends on what you want to do.
"ROS" is a good simulation environment and it can provide your robot with simulated sensor data from the simulation. So for example you place a wall in the simulation and your robot can get maybe laser scanner or ultrasound distance from the wall. Of cousre you'd have to write the model for the sensor but ROS can provide updates to the wall to sensor distance an as the robot drives around.
ROS is neat because it can run on multiple computers and passes data between nodes. Some no=des can be simulations some can be inside real robot hardware.
If your "robot" is less sophisticated and really is just a remote control object your user directly controls then look at a game environment. "jmonkey" is one and can animate game characters in a "world" you build. If your robot can be represented by a video game character money would work. It runs and every platform from Windows to Android.
Both are big software systems with learning curves.
BTW anything will run on Windows in the have VMware installed ;-)
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I have good knowledge of C++ and after reading The Elements of Computing Systems I have a basic knowledge of how computers work. I made a list of topics I want to learn next and books I want to buy on those topics. One of them is operating systems, but the one on the top of the list is Game development.
I am still a noob on those topics, so I wonder if I should know how an operating system (unix specifically) works before trying to learn game programming (Opengl, etc). On operating systems I have the book Operating Systems by Tanenbaum, and I want to buy The Linux Programming Interface by Michael Kerish.
On game development I was planning on buying Game Engine Architecture and Game Coding Complete to acquire a general concept of game programming and how engines work and then learn Opengl.
I am really lost on what to do first and I hope this is an appropriate question. What should I learn first, what books should I read and in what order. Should I learn how a VGA works before trying Opengl? Are there any other topics I should know before delving into games programming. I am asking this because I like to know what I am coding, what the functions I am calling do under the hood, I don't like holes in my knowledge.
Thanks.
Fluffy opinion answer incoming. Take with grain of salt.
The nice thing about programming is that that you don't need to learn everything about everything to do one thing effectively. Knowing exactly how to implement a video driver isn't required for using OpenGL effectively. The point of OpenGL is to abstract that out so you don't have to worry.
Since you want to do game development, make a project. Like recreating Asteroids using OpenGL for graphics and writing all the game logic yourself. And set about completing it. In the process you'll learn much more than simply reading. Use books as reference. At least thats what I've found works for me.
The Operating Systems book is pretty good. Its the one I read in college. But those concepts presented in it, though interesting, are not something you'll have trouble learning simultaneously with game development or anything else.
Also you should read this: http://www.linuxforu.com/tag/linux-device-drivers-series/. It's a great article series that teaches linux driver development and operating systems concepts in the process.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I am quite interested in image processing. What is the best way of learning image processing -- whether to begin with MATLAB or OpenCV? I am familiar with C and C++.
Any books/videos/blogs to recommend?
MATLAB is easier to start with but it has limited library and slower implementation.
OpenCV, being a C/C++ library, is the most popular. You can access great tutorials and references for it. It is a well documented and open-source library. Also, there are many discussion forums, Q&A web-sites, and blogs (http://opencvpython.blogspot.com/ , http://opencv-code.com/) about it.
SimpleCV, being a python library, is a wrapper library on OpenCV. Hard to comment on that -since I didn't use it- but it might not cover all the broad methods of OpenCV. On the other hand, it is easier to play with, however not well-known. You may not find answers to your questions on the web.
Here is a guide-book for OpenCV.
Here is a guide-book for SimpleCV.
In any case, I suggest you not to memorize or copy. Do not ask for codes, ask for ideas. Read the books and learn about the methods you are going to use -like what convolution kernel is, what the alpha channel is, etc.- Thats what improves you and makes you capable of dealing with broader range of vision problems.
The only problem with MATLAB, for a beginner, is that it is really expensive. Some universities buy it without the Image Processing Toolbox, in which case it is not so useful. Octave is well supported by the open source community, that is another alternative
"Processing" is a language that is easy to learn and powerful. You might want to take a look at it.
OpenCV is a bit hard to learn at the start, but very powerful. There are enough examples available in OpenCV documentation pages, so I recommend OPenCV over the other two.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
I want to start a simulation project, which will be a descrete-time simulation. The purpose is simulating agent communication with some non-autonomous physical models involved, so it is not necessarily limited to a pure agent-based simulation. Before starting, I wanted to ask what software engineering practices specific to simulation do exist, for example test practices (TDD suited? Simulation tends to be hinghly non-deterministic), which problems from a software engineering point of view are common, often occurring problems, etc. I am not talking about the modelling process, but the process of the realization of a system that uses existing models. Related book recommendations are very welcome.
Thanks.
Marcin is right, this question is much too broad to have a correct answer apart from It Depends.™
The main reason for this is that simulation software is, first and foremost, still 'just' software, and the engineering part very much depends on your requirements (programming language, purposes of the software, time budget, constraints on resources, etc.).
Of course, there might be additional steps involved (such as VV&A) and certain tasks need extra care, such as testing, but all this depends on the context.
Also, before you start hacking away, have you looked at existing tools - maybe there is a library or framework that you can rely on? If so, what approaches have worked there?
Except general introductions (like this), most books and papers are also focused on specific subsets of simulation software (e.g. simulation software in C++, or agent-based simulations, or parallel and distributed simulations). So without more context it is hard to even point you to relevant material.
One common problem in software engineering and development of (agent-based) simulation software is dealing with floating point numbers.
Since not all real numbers can be exactly represented by the floating point formats used in computers, small errors can build up in simulations with many operations over time and influence the final results.
Moreover, small differences in how floating point operations are implemented on various hardware and software platforms may result in different outcomes when a simulation is run on different systems.
See these links for some extensive studies into the effects of this on agent-based models:
http://www.macaulay.ac.uk/fearlus/floating-point/
http://jasss.soc.surrey.ac.uk/8/1/5.html
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
I am looking for ideas for my undergraduate project and I quite like the area of High Performance Computing , has got a lot of scope for research . Are there any ideas / already existing open source projects worth looking at ?
One hot field right now is in the area of algorithmic trading. You can sign up for $3000 (if you're under 21 -- it's $10k for over 21) at InteractiveBrokers.com and they will give you a free paper trading account (which is fake money traded using realtime data) of $10,000,000. They have API's in C#, C++, VB, Java and reasonable support... You could write your own stock pair trading algorithm. They have good documentation on how to get started.
You can scale this as high as you want, also a lot of people do high frequency trading which requires hpc and in-depth knowledge of Unix and C++.
Worth looking into, my 2 cents.
Perhaps massively parallel processing? Libraries like Cuda, OpenCL, and DirectCompute are just blossoming, and have a high likelihood of becoming commonplace. In my company, we are researching uses for OpenCL, and we're finding that it has the potential to revolutionize our industry.
Just a thought.
I would suggest looking at Sandia National Labs's SST (The Structural Simulation Toolkit). Its a highly parallel simulator framework used for HPC. It uses and incorporates other simulators from academia and industry. For instance, it currently integrates GEM5, QSim, MacSim, DRAMSim, Merlin, Portals, DRAMSim2, Iris, etc. Moreover, it is open source so you can contribute to the development.
You could work on integrating other academia components into SST, improve the interface of one of the components with SST, or just improve of the components themselves.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
Does anyone know of any free/open-source text recognition libraries in C/C++/Objective-C? Basically something that can scan an image, and read out all of the plain text.
The most famous one is Tesseract OCR developed initially by Motorola and later become open source. It is also promoted by Google.
There are a few more, perhaps not as famous as Tesseract:
http://en.wikipedia.org/wiki/OCRopus
http://jocr.sourceforge.net/
Open Source OCR Library:
1.ABBYY Mobile OCR Engine is a powerful software development kit which allows developers of mobile and small footprint applications to integrate highly accurate optical character recognition (OCR) technologies that convert images and photographs into manageable and searchable text. Toolkit supports the most popular mobile platforms and devices - iOS (iPhone) and Android. http://www.abbyy.com/mobileocr/
2.Tesseract is probably the most accurate open source OCR engine available. https://code.google.com/p/tesseract-ocr/
Here is an interesting article on how to extract numbers from picture.
The author collects large number of samples to train his neural networks algorithm and I believe doing the image processing with OpenCV.