As part of our minor project during the Bachelor's degree in Mechatronics Engineering at NMIMS University, Mumbai, our team developed a quadruped robot simulation in 2020.
- Miheer Diwan
- Shubhankar Kulkarni
- Khojasteh Mirza
- A hybrid adaptive(height-altering) quadruped robot with dual locomotion capabilities (wheeled and legged) was designed and simulated in CoppeliaSim.
- This project aimed to enhance mobility and versatility by integrating both locomotion modes, allowing the robot to navigate diverse terrains effectively.
- The robot was designed in SolidWorks, and a URDF (Unified Robot Description Format) model was created for it. This URDF model was imported into the CoppeliaSim environment, where various sensors and robot dynamics were integrated using the simulation environment’s API. This setup allowed for comprehensive simulation and testing of the robot’s performance.
- The controls for the robot are based on a simple PID controller and were tuned using MATLAB.
Please refer to the Report for more details.
walker.py: Main script for simulating the quadruped robot in CoppeliaSim (using ZMQ Remote API). It implements a diagonal trot gait for walking and runs the simulation file arnold_walk.ttt. Features include leg trajectory control, inverse kinematics for pose constraints, and wheel switching. Note: Some functionality needs implementation, such as increasing joint positions to elevate the robot and engaging the wheels to roll forward in wheel mode.elevationBot.py: Older version of the code for an elevation quadruped robot (using legacy V-REP API). It allows the robot to increase/decrease its height based on obstacle height detected by proximity sensors. The mechanism uses motors and servos for elevation, with partial implementation of forward movement and gait for locomotion.
- For
walker.py: Requires CoppeliaSim installed. Loadarnold_walk.tttand run the script to simulate walking. arnold_wheels.tttis a similar file, with the demonstration of morphing the wheels.- For
elevationBot.py: Connect to V-REP server at 127.0.0.1:19997. Runs sensor-based height adjustment and basic movement.
- Python
- CoppeliaSim
- OpenCV
- MATLAB/Simulink
- Solidworks
- RaspberryPi