This software contains simulation and basic control framework of bipedal wheel robot. In addition, navigation and trajectory tracker were added to the underlying control system.
The specific implementation method is as follows:
- Calculating leg kinematics by VMC, Implement balance control by LQR and adding PID to achieve comprehensive motion.
- Location is achieved using ICP and EKF, and navigation is achieved using ROS navigation.
- Implement A-star search, spline trajectory optimization, and NMPC trajectory tracker using OCS2.
# Clone repository bipedal_wheel
git clone https://github.com/1moule/bipedal_wheel
-
Clone OCS2 into your workspace
# Clone OCS2 git clone git@github.com:leggedrobotics/ocs2.git -
Compile these packages with catkin tools
catkin config -DCMAKE_BUILD_TYPE=RelWithDebInfo catkin build ocs2_ros_interfaces ocs2_robotic_tools ocs2_sqp
Build the source code by catkin tools
catkin build bipedal_wheel_* velodyne_*
- Run basic control in empty world
-
Run the simulation:
roslaunch bipedal_wheel_gazebo empty_world.launch -
Load the controller
roslaunch bipedal_wheel_controller load_controller.launch -
Start controller by
rqt_controller_managerGui:sudo apt install ros-noetic-rqt-controller-manager rosrun rqt_controller_manager rqt_controller_manager -
Then you can control the robot by topic /cmd_vel
-
- Run navigation
-
Run the simulation:
roslaunch bipedal_wheel_gazebo test_world.launch -
Load and start controller as the previous steps and DO NOT publish topic /cmd_vel
-
Run navigation
roslaunch bipedal_wheel_navigation navigation.launch
-
[1] https://github.com/qiayuanl/legged_control