You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
Electrical has implemented the hardware interface (for MCU chip) as outlined in the ros2 docs for implementing a hardware components interface
Everything launches correctly
All topics are outputting as the correct names e.g. odom from ros control is mapped to odometry/control
Wheels do not spin more than 5mph (most likely handled by elec on the MCU side of things)
Todo
go through ros2 control docs with elec and tell them what they have to do (odds are they will know)
add ros2 control to esda launch package.xml and write a launch file to launch it with diff controller and the custom hardware interface elec will write up for the MCU chip
hoist the esda in the air
run ros2 control
send mock cmd_vel twist values
ensure the wheels spin appropriately
make sure to update the contributors on README.md to include any elec members who contributed to the repo in anyway
The text was updated successfully, but these errors were encountered:
@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.
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
odom
from ros control is mapped toodometry/control
Todo
cmd_vel
twist valuesThe text was updated successfully, but these errors were encountered: