Monash-Connected-Autonomous-Vehicle / ESDA

Software stack for MCAVs annual IGVC entry
0 stars 0 forks source link

ROS2_control setup #65

Open AbBaSaMo opened 2 months ago

AbBaSaMo commented 2 months ago

Overview

We are moving back to using ROS2_control...

Previously we used custom control components as the team had difficulty configuring ROS2 control for our parallelogram steering geometry BUT NOW... we are simply using diff and so we can use the in built differential drive controller that ROS2 control provides.

The hardware interface will be implemented by electrical [i.e. Sam Tri with help from Hanif] and so software will simply be tasked with configuring launch files and providing oversight in terms of them following code and git conventions/practice.

The hardware interface is not for the wheels but for the MCU chip. Keep in mind ROS2 control implements PID (iirc) and odom calculation so unless there reeally is a need (optimisation is not a sufficient reason when we don't have something built in the first place) then please do not waste any time implementing something that already exists and has been tested.

Odom from ROS2 control must be re-mapped to odometry/wheel rather than the default /odom and can optionally be fed into robot localisation which currently has only been configured to take IMU and GNSS to determine /odom. Refer to the config currently written up for ESDA. It should just be a matter of commenting out some configurations and running it to ensure it works as intended.

Relevant resources

Acceptance criteria

Todo

AbBaSaMo commented 1 month ago

@Credit3 @hanifzafari will discuss further at a later time but I want you 2 to work on the hardware interface together. Will pair 2 other esda sw members to work on the integration and launch side of things.