Skip to content
/ WERDNA Public

Locomotion and Posture Control of Wheeled Bipedal using Reinforcement Learning Techniques

Notifications You must be signed in to change notification settings

adwng/WERDNA

Repository files navigation

WERDNA

Wheeled Bipedal Trained by RL for Locomotion and Posture Control. These are the ROS2 implementations to be run on a Raspberry Pi 4 with Ubuntu Mate and ROS2 Humble. For the custom gym environments can be found here.

The RPI4 is also intended to be connected to a Teensy 4.1 via UART which will be commanding the Odrives to actuate accordingly.

Note

It is a Final Year Thesis Project and it is still not finalized.

Hasn't been tested on real hardware.

CAD will be published shortly.

Dependencies
  1. ROS2 Control
  2. ROS2 Controllers
  3. Stable Baselines3
  4. Gymnasium

Package Contents:

Main Package Contents

Packages Functionality
werdna_bringup Bringup Commands
werdna_description Description of URDF Models
werdna_msgs custom messages for werdna teleoperation
werdna_odometry Publish Odometry from wheels joint information
werdna_hardware_interface custom Hardware Interface from RPI->Teensy
werdna_teleop Teleoperation Commands for Joystick
werdna_agent Node to run trained agent inference
werdna_odometry_broadcaster Broadcaster for Odometry

Raspberry Pi Required Contents

Packages Functionality
MPU6050 Driver Driver Node to interface MPU6050 with RPI4
Robot Localization Fusing IMU and Odometry Data

Code Run

Launch in Base

cd <your_ws>
source install/setup.zsh #or setup.bash (I use zsh anyways)
ros2 launch bringup launch_base.py

It should should launch the description, relevant controllers and hardware interface, teleoperation (joystick), wheel odometry, robot_localizaton package, and finally the trained agent at once

Important

I added a Werdna Odometry broadcaster as an alternative to the werdna odometry node to determine if it works the same overall. Hopefully this broadcaster works so i can just yolo the odometry node overall.

TODO

  • Write Hardware Interface
  • Write bringup package
  • Write Description package
  • Write Odometry node
  • Write Teleop node
  • Write agent node
  • Write msgs
  • Finish URDF description
  • Edit BringUp and Configurations to include Odometry Broadcaster

About

Locomotion and Posture Control of Wheeled Bipedal using Reinforcement Learning Techniques

Topics

Resources

Stars

Watchers

Forks