Lab 2: Intro to Haply

Kattie
4 min readFeb 5, 2021

Goal: Create a new example based on “Hello Wall” that contains a maze

Assembling the Haply

The assembly was not my most favorite part because I did not have the correct tools for the tinny screws. The most challenging screws were the ones connecting the motors to the plate. However, with the help of the assembly video, it was finally done!

After the assembly, I downloaded all of the required software from https://2diy.haply.co/. The documentation was straightforward and I did not run into any particular issues, but more details could be helpful. The first program that I tried was Hello Wall and I was surprised at how precise the force feedback was applied. The next program that I tried was Hello Ball, and I was mind blown by how I could feel the bouncing/squishy ball! This is when the pain of assembly was forgotten and I thought the Haply is an amazing device. I continued to run all of the other sample sketches on https://2diy.haply.co/. I think some of the sketches definitely worked better than others but they were all interesting.

On one occasion, Unma D. and I were discussing a problem with her Haply that would not send force feedback while running Hello Wall. The Haply avatar would go straight through the wall without any feedback. Here, I realized that the documentation was lacking because, for a novice, it would be difficult to know what the Haply is supposed to “feel like” or what it is not supposed to “feel like”. I also realized it was very hard to explain the feeling of the wall or the bouncy ball. After much fiddling with the ports, we finally realized there is simply a button on the adaptor that turns the force feedback on/off!

Hello Wall

Finding the useful Hello Wall program was a bit time consuming for me. I first tried the Hello Wall on https://2diy.haply.co/ and realized it is very hard to add additional walls. Then I tried the Hello Wall on Github and something was not working with the calibration. The ball would move in the opposite direction of the Haply avatar. I was not sure what is going on, so I also gave up on this sketch as well. Then I moved on to the Hello Wall (Fisica) program which was very simple to edit and add additional walls. I did not bother to create a maze sketch because I wanted to explore changing different variables like the sizes, colors, shapes of the walls and experience what it will feel like.

As I was adding the walls, I noticed that long walls or corners can sometimes create a shaking movement in Haply as the avatar is moved along them. But overall, it was very cool to be able to “feel” the edges and corners of the FBox shapes. I also noticed that having too many walls creates a “confused” force feedback response which is very confusing for the user. I am guessing this might be because the force feedback is not as precise as the graphics, so having too many walls close together can create forces in opposite directions? Sometimes my Haply would also get “glitched” and create an outward or inward force even after the sketch was stopped. In these cases, I would have to turn off the force feedback with the handy button that we discovered.

I got a bit bored of adding walls and realized there might be other things I can add. So a quick search brought me to website documentation of the Fisica package. Now I had discovered a gold mine of new things I could add!

First, I tried to add circles using FCircle which was interesting to move the Haply around them. I felt the Haply avatar kind of “jumps” when approaching the halfway point around the circle circumference. Then I tried to add moving objects by turning ‘setStatic’ to False. I was surprised that the avatar could move the objects until I saw the piece of code for setting the avatar density to 4, which made sense because the objects had 0 density.

So, I tried to play with densities of objects and friction. For example, I set the friction of the wall to a high number, but it didn’t seem to have an effect on the movement and feel of the Haply when touching the wall. Then, I discovered the FBlub object and it was very entertaining to change different parameters of the blub. As I increased the friction of the FBlub, I realized that Haply is moving “slower”/”harder to move” when the avatar is inside the blub!!!! I also increased the density of the FBlub and it visually/graphically became “too heavy” for the avatar to move but I did not experience prominent force feedback. I realized that I had increased the density so high causing the program to crash, and it was more fun to be able to move the lighter blubs, so I lowered the density again.

Hello Maze

I wondered and worried about the force I am applying while using Haply. I was surprised at how rigid the device was. Also, it was as if I come to an “agreement” with the device that specifies what kind of force I should input to “feel” a wall … however, moments of confusion arise when I don’t know how the object should act or feel like and I worry about breaking my Haply. Also, visually looking at the object helps to expect some kind of force and the direction of the force but I wonder how visually impaired people would navigate and deal with new objects.

Overall, I really enjoyed this lab. It gave me a chance to review Java and also learn how Haply works. If I had more time, I would spend many more hours playing with the different objects to create an actual game.

Github repository for source code

The Pacman figures are from here

--

--