Asked
— Edited
I am making a plugin to use the XV-11 LIDAR with the GetSurreal 1.2 controller in ARC, but I am having an issue on step 6.5 of the plugin tutorial. I tried creating the stub plugin and going to my plugins, but I get a 404 error.
Just letting you know. Let me know if there is anything I can do to get the XML file that is required.
Thanks David
Another idea is that the lidar could be used to know how far you have moved. if you took a reading at the heading that you are heading in, and then moved and took another reading, you would then be able to compare these two points in order to know the distance that you have traveled.
A "sensor" like a motor encoder would really work well with the lidar to help confirm positioning then? I agree an ez robot version of "slam" would really be really awesome... Good information David, thanks
Yes, Encoders are very helpful.
Text from Plugin. Changes are bolded with the version number of the release. Sorry to have 3 releases in a couple of days, but my brain kept working on what should be added to this plugin to make it the most useful...
THIS IS FOR A ROBOT WITH AN ONBOARD COMPUTER The XV-11 is an inexpensive 360 degree LIDAR sensor. This plugin requires that you use a GetSurreal Controller. I have a version 1.2 GetSurreal LIDAR Controller.
This plugin will generate an array variable called $LIDAR. Each element in the Array matches to the degree angle reported from the XV-11. The value of each element is the distance reported back by the sensor in millimeters for that angle.
The GetSurreal controller connects to a usb port on your computer and also connects to the XV-11 LIDAR. Because of this, an onboard computer is the way that I use this plugin.
The first thing that you will have to do is identify which com port your GetSurreal controller is connected to. After your COM port is selected, you can click the Start Lidar button and things should start happening on the map. If you add a Variable Watcher control, you will be able to see the distances changing as you move the LIDAR.
Version 1 If your robot has the LIDAR mounted in a way that would prevent it from seeing all 360 degrees clearly, you can choose the range of angles or degrees that are open for your robot to see. This corresponds to the angles that are reported back from the LIDAR. If you are using say angles 90 to 180 everything should run great as is. This would give you all values from 90 to 180 or 90 degrees total. If you want to use say 180 to 90 then you would set the first angle box to 90 and the second one to 180 and then click either of the check boxes just to the right of these ranges. This will give you 270 degrees of scanning or all values greater than 179 and then all values up to 90.
You can also rotate the map image by -90 to 90 degrees. This will allow you to turn the map to display in a direction of your liking.
Version 2 You can now specify the size of the databuffer that is used when reading the LIDAR. This will allow the tool to use more or less memory as you decide for your project. Sometimes, increasing the data buffer will improve performance.
You can now save your configuration. This configuration will be loaded at the time that the control starts. Also, you can now stop the LIDAR which will prevent it from getting readings, release the com port and stops the motor on the LIDAR.
Version 3 Also, you can set the map zoom distance which will just allow you to adjust the map to display the points at different zoom levels.
I made changes to use the EZ_Builder.Invoker class as recommended by DJ. I know that I didn't get all of them yet, but most are now covered.
I also double buffered the screen to make it a bit smoother. Hopefully this will improve performance a bit.
I also changed the look a bit to match more of the ARC look and feel. I am colorblind so this is difficult. If things need to be adjusted, or DJ wants to share his standards, I would be happy to make changes to make it look more like the other controls in ARC.
General info Attached is the project code. If you would like to modify it in any way, feel free to do so. The only requirement is that you also share your code. This is a standard practice when using code that has been prepared initially by someone else.
I am thinking about an update that would allow the user to change the colors on the display image (background and point colors). With me, if I get bored I will jump in and do it, so you might see another update with this soon. After that, I would be making changes based on suggestions from those who use this plugin.
Oh, I just had another idea... I want to make the values and button clicks updatable or selectable from a script. DJ, is this possible to do in a plugin?
Dave, This is incredible work. It's people like you that bring dreams to life for us common people. LOL. Thanks for the Christmas gift.
Hey, I thought you were supposed to be getting some rest? Don't burn yourself out again.
Thanks Dave. Work is really light this week and I need to be at my desk anyway... I cant stand sitting and doing nothing and there is a code freeze at work so really nothing can be done until the beginning of the year. I figure this is as therapeutic as anything ")
Hey David I like the new look and the ability to zoom out and in the buffer, it really helps with real-time updates. Keep up the great work
I'm wondering if you are able to put a Compass heading in the map from a Compass chip that most people have on their robots.
My inmoov, Gideon is all geared up ready to move but nowhere to go because of his programmer (me) who lacks talent like you and DJ and a lot other people on this forum, which I hope they dig in and expand your work.
And like Dave S has stated don't burn yourself out, Us common people LOL look forward to a lot more of your work .
Cheers and Merry Christmas