MiniRHex: An Open-Source Hexapod Robot
Contact: nflowers@andrew.cmu.edu
MiniRHex is a miniature scale hexapod designed by the Robomechanics Lab based on the design of RHex. Notable features include a laser-cut frame and 3D printed legs for low cost construction and an intuitive software package that allows for highly-customizable control over the robot’s behavior. MiniRHex is designed to be an educational and outreach tool to allow students to experiment with a fully functional walking robot at a much lower cost. The low price tag lets research groups maintain a fleet of machines, allowing each student more hands-on interaction with the hardware. Possible educational principles include gait design and optimization, leg design and control, and mobile robot sensor incorporation.
Building a MiniRhex requires access to a 3D printer and laser cutter. The links for off the shelf parts can be found below.
The Parts List and Links to order can be found in Parts List.
Assembly Instructions available at Assembly Instructions.
BE SURE TO ALIGN THE BOTTOM SLOTS!!!
- Install OpenCM IDE from http://www.robotis.us/opencmide/
- Clone primary repository at https://github.com/robomechanics/MiniRHex.git
- In the openCM IDE, go to File>Examples>Dynamixel Easy>b_setID
- Change the NEW_ID variable to the ID number according to the diagram below
- Attach only the corresponding servo to the board (disconnect any other servos)
- Upload the code
- Repeat for each servo
If the configuration was successful, the servo you are configuring should move back and forth.
- Clone support repository at https://github.com/nikolaif399/zero_finder.git
- Manually rotate each leg to be as close to straight down as possible
- Download zero_finder.ino to the OpenCM
- Open the serial monitor by going to Tools>Serial Monitor in the IDE and copy the zeros (printing) to the zeros array in leg_info.cpp
- Connect the MiniRHex to your computer via the Micro USB port
- Open MiniRHex.ino in the OpenCM IDE and check that under "Tools":
- "Board" is set to ROBOTIS OpenCM9.04
- "Port" is set to the correct COM port (whichever COM port is added when MiniRHex is plugged in)
- Ensure the motor zeros in leg_info.cpp are correct
- Set desired gait parameters in gait_parameters.cpp
- Click the download icon in the upper left corner of the OpenCM IDE (wait until it reports "Done Downloading")
- Disconnect the Micro USB cable and connect the battery
- Flip the power switch on the OpenCM board
- Press the "RESET" button, make sure all motor LEDs are green
- Press "USER SW" to execute the code!
- Press the "RESET" button again to return to the standing behavior
The part list can be found at Parts List.
The MiniRHex repository can be found at MiniRHex Repository.
If referencing MiniRHex in a paper, please cite this abstract. Use this BibTeX for citations:
M. Barragan, N. Flowers, and A. M. Johnson. "MiniRHex: A Small, Open-source, Fully Programmable Walking Hexapod". In Robotics: Science and Systems Workshop on ``Design and Control of Small Legged Robots'', Pittsburgh, PA, June 2018.
See the image gallery for more MiniRHex pictures.
Check out the Robomechanics Lab YouTube Page for videos of MiniRHex in action!
MiniRHex was designed by the following people in the Robomechanics Lab
- Nikolai Flowers (BS ME '20)
- Barrett Werner (MS ME '19)
- Monica Barragan (BS ME '19)
- Cameron Selby (MS ME '18)
- Scott Phillips (BS ME '20)
- J. Joe Payne (Ph.D ME)
- Joe Norby (Ph.D ME '22)
- Catherine Pavlov (Ph.D ME)
- Aaron Johnson (Advisor)