1. Do not share user accounts! Any account that is shared by another person will be blocked and closed. This means: we will close not only the account that is shared, but also the main account of the user who uses another person's account. We have the ability to detect account sharing, so please do not try to cheat the system. This action will take place on 04/18/2023. Read all forum rules.
    Dismiss Notice
  2. For downloading SimTools plugins you need a Download Package. Get it with virtual coins that you receive for forum activity or Buy Download Package - We have a zero Spam tolerance so read our forum rules first.

    Buy Now a Download Plan!
  3. Do not try to cheat our system and do not post an unnecessary amount of useless posts only to earn credits here. We have a zero spam tolerance policy and this will cause a ban of your user account. Otherwise we wish you a pleasant stay here! Read the forum rules
  4. We have a few rules which you need to read and accept before posting anything here! Following these rules will keep the forum clean and your stay pleasant. Do not follow these rules can lead to permanent exclusion from this website: Read the forum rules.
    Are you a company? Read our company rules

DIY prototype 360 Hamster Ball Sim

Discussion in 'DIY Motion Simulator Projects' started by Grucho, Jan 3, 2023.

  1. Grucho

    Grucho Member

    Joined:
    Jan 3, 2023
    Messages:
    46
    Balance:
    240Coins
    Ratings:
    +8 / 1 / -0
    Hello everyone,

    It is my first post in this forum, It is so nice to see such a great community. Since I currently have some resource at side I would like to try to build my own 360 Hamster Ball simulator. Here the link to the Topic on this forum https://www.xsimulator.net/community/threads/eight360-nova.14616/. I know it is a very complex task so I would like to do it in various steps by first building a scale prototype.

    I have been reading this forum for a bit and I know there are some that discourage this type of simrig due to too little gain for so much effort but anyway, I still would like the challange.

    So, to me is kind of clear the principle behind the system involved with Arduino and building up the electric part. I would like though some help to figure out everything necessary to build a proper working prototype in 3 different steps.

    1. First step is to build the proper Arduino setup, finding the right component for it to drive the 3 omni wheels for the 3 axis. Basically I need to make the shopping list and then designing the wire diagram for it. Once it is done I would like to go ahead and test all the software involved and start already solving some of any coding issue right away.
    2. Second step is to build the structure to place the wheel, make the sphere rotate properly and solving the problem of the sphere orientation. I have at my hand CNC that will become handy to build the prototype structure.
    3. Third and last step of the proptype phase is Designing the final sphere with all the safety measure in place to be able to stress test it and deciding if to move forward with the proper full scale prototype.
    Due to my lack of experience with Arduino I would need tons of help, so anything that you can suggest to help will be really appriciate it. Of course I will post regularly all the progress made in this project with pics and schematics.


    Thanks in advanced everyone
    • Creative Creative x 2
    • Like Like x 1
  2. Grucho

    Grucho Member

    Joined:
    Jan 3, 2023
    Messages:
    46
    Balance:
    240Coins
    Ratings:
    +8 / 1 / -0
    Hello everyone. So as promised here you can see the schematics of the electric part. Any feedback is very welcome.

    Immagine 2023-01-04 160030.jpg

    I am not sure where to plug the emergency stop. Any suggestion?
    Here the shopping list so far for the prototype:
    1. Arduino UNO WiFi REV2 - 50€
    2. ARCELI GY-521 MPU6050 - 5€
    3. AC power supply 10 Amp 24 volt 120W - 20€
    4. DC motor 24V 100RPM 21W - 3x24€
    5. Sabertooth dual 32A - 2x124€
    6. Emergency stop button - 10€
    TOTAL: 405€ circa.

    I opted for Arduino WIFi since later on I will need to comunicate with the orientation sensor inside the sphere. I cannot use the potentiometer or PID to find the right orientation of the sphere. I found this guide here to install the orientation sensor: https://learn.adafruit.com/adafruit-bno055-absolute-orientation-sensor/arduino-code
    My plan is too be able to place one sensor inside the sphere to be able to coordinate the 3 motors proeperly (since the wheel for sure they will slide a bit on the surface of the sphere) and also to be able to bring back into rest position the sphere. The arduino device i think will need to sit outside the sphere to control the motors.

    As always thanks in advance!
    Last edited by a moderator: Jan 4, 2023
  3. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    20,551
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    145,124Coins
    Ratings:
    +10,778 / 52 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
  4. Grucho

    Grucho Member

    Joined:
    Jan 3, 2023
    Messages:
    46
    Balance:
    240Coins
    Ratings:
    +8 / 1 / -0
  5. KydDynoMyte

    KydDynoMyte Fool's Gold Contributor

    Joined:
    Sep 5, 2011
    Messages:
    111
    Location:
    RTP, NC
    Balance:
    92Coins
    Ratings:
    +28 / 2 / -0
    My Motion Simulator:
    3DOF
    I wish you luck. Owning a YawVR1 (it thinks it has a full 360° on all 3 axes) I would suggest using some type of optical tracking from the start to know the orientation of the chair/ball, even if the optical tracking is only correcting IMU drift as it hits certain orientations. Any IMU is going to drift on the yaw axis. Though the more I think about it, you're in a ball and don't have a safety issue with a footrest swings around like a baseball bat. You might be able to correct for the yaw drift well enough just by detecting and correcting the offset of the pitch and roll movements.

    The other big thing I can think of is keep the COG of the ball at the COR of the ball.

    Can't wait to see what you come up with.
  6. Grucho

    Grucho Member

    Joined:
    Jan 3, 2023
    Messages:
    46
    Balance:
    240Coins
    Ratings:
    +8 / 1 / -0
    Thanks for the suggestions @KydDynoMyte , I will keep it in mind. I will proceed with the order of the first pieces.

    Let's see if I will manage to get it working. Do you have any suggestions for where to put the emergency stop in my electric diagram?

    Will keep you posted
  7. Grucho

    Grucho Member

    Joined:
    Jan 3, 2023
    Messages:
    46
    Balance:
    240Coins
    Ratings:
    +8 / 1 / -0
    Quick update.

    I orderder the hardware for the prototype,

    some already has arrived, some i am still waiting for. Once i have it all i will post some pics.

    One big question that keeps hunting me is regarding the orientation of the sphere. For sure the omni wheels are gonna slide a bit on top of the surface of the sphere so the rotation of the motor cannot be used to calculate the orientation of the sphere with potentiometers.

    My current plan to solve the problem is to use an orientation sensor and use that data to correct/update sim tool regarding the orientation of the sphere relative to the rest position recorded at the start of the sim.

    The idea it is to keep correcting the factor of sliding during the sim and have the motors to adjust and compensate for it. The BIG problem is how to feed that data to simtool so it can adjust the motion.

    Any idea on how to do it?
  8. KydDynoMyte

    KydDynoMyte Fool's Gold Contributor

    Joined:
    Sep 5, 2011
    Messages:
    111
    Location:
    RTP, NC
    Balance:
    92Coins
    Ratings:
    +28 / 2 / -0
    My Motion Simulator:
    3DOF
    I would think you'd do it similar to how YAW VR 1 does. Simtools doesn't know the actual orientation of the chair, (doesn't usually need to because rigs usually have a physical connection to the chair that doesn't "slip") it just tells your software where to go. Your software keeps track of the actual orientation and trying to move it to the desired location via the shortest path possible. I really suggest again some kind of optical tracking, at least for the yaw axis. Or some way to at least recalibrate yaw after it hits certain points in yaw rotation.
  9. Grucho

    Grucho Member

    Joined:
    Jan 3, 2023
    Messages:
    46
    Balance:
    240Coins
    Ratings:
    +8 / 1 / -0
    Hi everyone,

    so as promised here some pics of the initial order and the basic setup.

    WhatsApp Image 2023-01-18 at 21.35.48.jpeg

    WhatsApp Image 2023-01-18 at 21.35.48 (1).jpeg

    WhatsApp Image 2023-01-18 at 21.35.47.jpeg

    WhatsApp Image 2023-01-18 at 21.35.47 (1).jpeg

    I am having some issue with SMC3 and the arduino setup. Basically when all is connected and I switch on both the AC for the motors and controllers nothing moves. As soon as I open SMC3 both motors starts to run but I cannot control any parameters from SMC3. It seems they are not responding at all. I will continue the discussion on this topic and then report here the solution aswell : https://www.xsimulator.net/communit...ial-pid-motor-driver-sketch-w-softstart.9277/

    I will keep you posted on the progress.
  10. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    20,551
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    145,124Coins
    Ratings:
    +10,778 / 52 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    Are the pots connected, as they provide positional feedback.
  11. Grucho

    Grucho Member

    Joined:
    Jan 3, 2023
    Messages:
    46
    Balance:
    240Coins
    Ratings:
    +8 / 1 / -0
    They are not connected. Do they need to be for the controller to be able to function and control the motors?
  12. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    20,551
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    145,124Coins
    Ratings:
    +10,778 / 52 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    Yes the pots do need to be connected.
  13. Grucho

    Grucho Member

    Joined:
    Jan 3, 2023
    Messages:
    46
    Balance:
    240Coins
    Ratings:
    +8 / 1 / -0
    Ahh ok thanks. I will put hook them up tomorrow and keep you updated.

    Thanks!
    • Like Like x 1
  14. Grucho

    Grucho Member

    Joined:
    Jan 3, 2023
    Messages:
    46
    Balance:
    240Coins
    Ratings:
    +8 / 1 / -0
    Hi everyone.

    Here an update. So I connected the POTS as shown in the picture that follows:

    WhatsApp Image 2023-01-19 at 15.54.02.jpeg

    Now the SMC3 seems to be a bit more responsive. I can see that if I turn the POT the green line on the graph changes.

    Immagine 2023-01-19 155743.jpg

    Unfortunately I think my sabertooth has some problem with the code provided for the 2x32 and the 2x60. Mine is a 2x25

    I tried 2 different mode to run it. The first is the one recommended by the tutorial: Packetized Serial, address 128
    Immagine 2023-01-19 160059.jpg

    unfortunately with this settings I have no response from the motors.

    If I switch though to an other type of setting such as the Simplified Serial, 38400 Baud:

    Immagine 2023-01-19 160231.jpg

    This is making the motor turn, I also get a sort of control in SMC3 (i can modify the parameter and I can see that the motors are influenced) but nothing is working as expected. The motors are always on, I cannot control the power on/off button and other control don't make much sense.

    Not sure where to go from here. I try to look at the code but not sure what to change to make it work with my sabertooth if that is the problem.

    Any help is welocome! Thanks and sorry if I am a total noob
  15. Grucho

    Grucho Member

    Joined:
    Jan 3, 2023
    Messages:
    46
    Balance:
    240Coins
    Ratings:
    +8 / 1 / -0
  16. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    20,551
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    145,124Coins
    Ratings:
    +10,778 / 52 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    Last edited: Jan 20, 2023
  17. Grucho

    Grucho Member

    Joined:
    Jan 3, 2023
    Messages:
    46
    Balance:
    240Coins
    Ratings:
    +8 / 1 / -0
    Hi, Thanks!

    Last night after a lot of digging I also saw that. I was reading through it and it has my same problem. I will try to solve it as he @Deane did.

    I will keep you posted!
    • Like Like x 1
  18. Grucho

    Grucho Member

    Joined:
    Jan 3, 2023
    Messages:
    46
    Balance:
    240Coins
    Ratings:
    +8 / 1 / -0
    Soo good news. The motors of the first controller are working perfectly. The third one is not doing anything. mmmm

    Not sure what is going on... If I try to connect the the second controllor instead of the first one with the 2 motors all works fine.

    If I understood the code correctly I need to address the port of the second controller on the port 129 instead of the 128. Is that correct?
  19. Grucho

    Grucho Member

    Joined:
    Jan 3, 2023
    Messages:
    46
    Balance:
    240Coins
    Ratings:
    +8 / 1 / -0
    So I finally managed to get around the prototype. I placed the 3 motors at 120 degrees, the inclination for aligning it to sphere i will do it later on.

    I also have new sabertooth 2x60.

    Now I am stucked with the code. I really need help.

    I successfully connected the motors with sp3 and all is working fine. Now how can I do the math to control the sphere? I know that with the code sp3 softstart i can only control 2 motors. So i need 2 arduino. Plus i need an other arduino inside the sphere the fercu the orientational data. I managed to send wireless the orientational data from the sensor from one arduino to the other. Basically my setup will need 3 arduinos. 2 for the motors, one sabertooth each and one insied the sphere that sends data to the other 2.

    I need to connect all of that to flypt and figure out a way to solve the math to orient properly the sphere.

    I found a paper online that does something similar. Now the big problem it is to combine together all that code and make it work with flypt.

    rn_image_picker_lib_temp_c098e66e-0dcb-4efd-98b0-7cd24a5be7fc.jpg

    Any help will be really appreciated.

    Attached Files:

  20. Pierre Lalancette

    Pierre Lalancette Sir Lalancelot Gold Contributor

    Joined:
    Dec 11, 2016
    Messages:
    943
    Occupation:
    3D teacher
    Location:
    Quebec, Canada
    Balance:
    7,683Coins
    Ratings:
    +884 / 6 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino, 6DOF
    Right from the start, I think you should incline your motors to have both wheel contact the sphere.
    I explain briefly my set up with the power and the limit switches in that video:

    Simply, a 5v relay stay open as long as I have the 5v (from a simple transformer) running all through my closed circuit that encapsulate my limits switches and the emergency button. If a switch or button is triggered, the 5v is cut and it closes. If the power shuts down, it closes (I have still some power with my batteries).
    When my 5v relay closes, it stops sending a 12v (from a PSU) to 12v relays that let the power go to the motors.
    -One 5v relay.
    -three 12v relays.
    If you trigger a limit switch or a button, all motors loose power.
    I use theses relay as they are rated 70A.
    https://www.lvelectronics.com/details/item?itemid=COLE HERSEE RA-700112-DN#
    You'll need to find a way to trigger a wireless relay if you want to do it from inside the sphere.

    I think a vision system is what you need to always know the orientation of the ball, but it would be quite a task.

    Hope this helps.
    Pierre.