reedhedges / AriaCoda

Fork and continuation of the old ARIA library for use with Pioneer-compatible mobile robots. AriaCoda is based on the GPL-licensed ARIA library from MobileRobots Inc, which is no longer maintained. Various bug fixes, changes and improvements have been made. See README.md for more infor
Other
30 stars 25 forks source link

SWIG 4.x #3

Open reedhedges opened 4 years ago

reedhedges commented 4 years ago

Switch to SWIG 4.x. Test. Update documentation, scripts, Visual C++ projects etc.

dwbertol commented 4 years ago

I already use swig 4.x, vs 2019, and python 3.7. I'm using it to integrate Aria with Matlab 2020a. Works fine! How can I help with this?

reedhedges commented 4 years ago

Hi, great to hear it's working! Mind if I ask a few questions to help understand what I could do with AriaCoda?

  1. Are you using AriaCoda or an old ARIA release from Adept/MobileRobots?

  2. Did you have to make any changes to the SWIG config (wrapper.i), library code, visual studio config? (Did you use provided project files or make new ones?)

  3. What could be improved to make it easier? Documentation? Examples?

  4. Do you think that using Python in Matlab is easier than accessing the C++ library (or the small C wrapper like the Matlab interface provided with ARIA currently does)?

Thanks

dwbertol commented 4 years ago

Hi!

  1. First I used ARIA from MobileRobots (2.9.4). Now I'm using AriaCoda. So the python wrapper is working with AriaCoda.

  2. I did not have to change anything in "wrapper.i" but I have a lot of problems with Visual Studio configuration and with the pre-processor directive "WIN32", because it appears as "_WIN32" in some files. So you can put the two on the VS config file or change the library code.

  3. To improve the processes, mainly I think the VS files can be updated and avoid to have different files for different VS versions.

  4. My solution is using a python program communicating through tcp/ip with Matlab. It is not a substitute for the C++ wrapper. Just a solution to avoid the C++ matlab wrapper problems.