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
ROS2 Control
ROS2 Controllers
Stable Baselines3
Gymnasium
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 |
Packages | Functionality |
---|---|
MPU6050 Driver | Driver Node to interface MPU6050 with RPI4 |
Robot Localization | Fusing IMU and Odometry Data |
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
- Write Hardware Interface
- Write bringup package
- Write Description package
- Write Odometry node
- Write Teleop node
- Write agent node
- Write msgs
- Establish Sensor Fusion (Phase 2), install sensor fusion and write params file
- Finish URDF description