Balance Control of a 6-DoF wheeled biped robot
This thesis was done as a part of Mechanical Engineering BSc. program at the University of Tehran. The main objective of this project is Dynamic Balance Control of a 6-Degrees of Freedom Wheeled Bipedal robot to achieve roboust planar motion. Linear Quadratic Regulator (LQR) has been utilized for balancing and controlling robot position. Simplified model of Two Wheel Self-Balancing Robot was used instead of full dynamic model of the robot for simplification. Inverse Kinematics has been solved geometrically, this part is quite starightforward.
More info about the theory could be found at My Personal Website.
This repository contains simulation package of a hybrid wheeled legged robot. Simulations are in Choreonoid and Gazebo. There are 3 packages in this repository:
- robot_control: main control loop of the robot
- robot_sim: choreonoid simple controller (connects ROS to choreonoid)
- gazebo_sim: contains Gazebo model and robot configuration files
⚠ This package depends on several libraries and packages, make sure to install them before building.
- Catkin build Tools (Python)
- Install Choreonoid version 1.8 that is adaptable with ROS. Detailed instructions could be found at Choreonoid Documents.
- Install Python Control Package; instructions could be found here.
- ROS Control and ROS Gazebo Control are essential for Gazebo Simulation. If you prefer Gazebo to Choreonoid (seriously?), make sure to have them correctly installed on your device.
1- Clone this repository in the src folder of your work space.
2- Build all packages using catkin build
3- Open Terminal in the workspace direcrory and run source devel/setup.bash
4- Launch all nodes roslaunch robot_sim wb_sim.launch
5- In Choreonoid go to File>Open Project, then select model/WheeledBipedRobot.cnoid
6- Select Simple Controller bellow Item. In the controller options write three numbers: robot height, desired location X, desired heading.
7- Start Simulation.
1- Do steps 1-3 of choreonoid build process.
2- roslaunch gazebo_sim wb_full.launch