Hello! My team members and I are trying to go through the LEGO Boost demo. Currently, we are trying to place targets on the floor to get the Boost robot to move, however, the targets are not recognizing the floor. Instead, they are appearing sometimes on the wall or ceiling.
Hello and welcome to the forum @Emun13!
One possible issue is that the app tries to detect the floor as soon as it loads, and the plane is never updated after that (I am currently working on improving this). Can you make sure that as soon as you open the app, you point your phone towards the ground and move the camera around a bit to help it find the ground plane? If the app is pointed towards a wall while it loads, it’s possible that it thinks the wall is your floor and will position some elements that use the ground plane (like the robot path) relative to the wall instead of the floor.
As I said, this still needs a bit of UI improvement. I’m working on giving some better visual feedback on which plane is detected as the floor, and giving you the option to reset it if it finds the wrong one.
Hi @Emun13! Welcome to the forum!
As ben has advised, I would try to make sure you are pointing at the floor (or surface where the robot runs) when you open the app. This will ensure that the Ground Plane registration is correct during the first frames after opening the application.
If the registration is wrong (for example, it registers a wall instead of the floor), you will have to restart the application in order to get the proper registration of the floor.
We are working towards a better UI and visual feedback for this!
Let us know your progress
@anna @ben Thank you so much for the quick help! I tried letting the app open while pointing on the floor but it was still thinking my wall and ceiling was the floor. I tried closing out of the app and also deleting it to see if it made a difference but sadly it did not. I will try to use a different room and see if that’ll help and will post back on here if there’s any progress
@anna I was able to get the robot to move after initially pointing the camera at the floor. So now my checkpoints no longer appear on the wall or the ceiling, however the arrow are still horizontal to the floor or pointed to the ceiling instead of the ground. How do I make sure the checkpoints are being placed properly on the ground?
Hi @alinashah welcome to the forum!
Could you post an image of your issue? So that I can understand what is going on
I’ve never had that issue but lighting condition and floor material can sometimes affect the stability of AR. Trying it under stable lighting (indoor) and avoiding glossy surface is usually recommended.
So, trying in a different room might help it work better.
Hello! I tried to use different rooms around my house and tried to control for lighting. I was still having the issue with the checkpoints appearing on the walls and when I try to connect the wire between the checkpoint and button it appears as a red circle and does not connect
I also tried controlling the lighting and ensuring there was no glare on my floor when using the app. My checkpoints are still appearing as arrow horizontal to the floor instead of pointed towards the ground. I watched the video that was posted in an earlier forum post showing the boost set working, but I was wondering if you could post a full video showing how you set the ground plane and place the checkpoints so that I could see what I was missing.
I have found a bug in version 1.2.0 of the app, which I am guessing it is the one you are using? I think this may be the issue.
I will let you know once I manage to fix it
Yes we are using that version of the app.
Toolbox 1.2.1 fixes an issue with the ground
@Takaaki could you help us testing the latest version we published (1.2.1) and check if it behaves like it did before?
I’ve updated vuforia spatial toolbox on my iPhone 8 to 1.2.1 and given it a try.
Those buoys are placed close to the ground surface and nodes was connectable. I’ve done this same operation 5 times and observed buoys placed in the air (about 50 cm high from floor) one time, not sure what caused it.
Lego took off a bit off the course because the form of it has been changed from last time and I haven’t updated configuration parameters, wheel diameter and so on, yet.
Thanks for trying @Takaaki!
We will work on giving better feedback and reset capabilities for surface detection so that the user can adjust better.
After the app update, I can successfully get the targets to appear on the ground. However, I am still having the issue with connecting my button to the checkpoints. It seems as though I can easily connect my checkpoints to each other, but not to my button.
With the app update the checkpoints were appearing on the ground and I am able to move the Boost, however there is a slight issue with where the Boost moves to. It seems to follow the pattern of the checkpoints but it does not move in the correct direction. As @Takaaki had mentioned in his post above, there are a few instances where the checkpoints are placed in the air, even though they are pointed towards the ground. Any advice you could give about these two issues would be appreciated.
@Emun13 in order to be able to connect your switch to the checkpoints you need to ensure either two of these things happen:
- You add the switch when looking at the robot target. This will add the switch to the same context as the checkpoints and it will be able to connect to them.
- You have created a World Object for your server. To do this: Go to the server browser interface and add a new World Object. This will create a world object on your server that will be used as the main world object instead of the default one generated by your phone.
When you create this world object, you will have to attach a target to it and look at it in the beginning when you turn on the app.
@alinashah the lego boost interface contains a set of parameters that you can tweak via the server browser interface. You can access Manage Hardware Interfaces. If you select the yellow gear next to lego-boost you will see a list of configuration parameters that you can adjust. This parameters will definitely impact the movement of the motors and wheels on the robot.
You should also make sure you have created the target with the right orientation on the robot. For example, if your target is rotated 90 degrees, the movement of the robot will be offset by 90 degrees.
Which direction should the target be facing in terms of the robot’s orientation? Should the front of the target correspond to the a forward facing robot?
@alinashah you can find an explanation on the tutorial with an image showing the orientation that your target should have:
You can also tweak the code to adjust it to your needs if you don’t want to change your target