Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ROS2_control setup #65

Open
11 tasks
AbBaSaMo opened this issue Jul 31, 2024 · 1 comment
Open
11 tasks

ROS2_control setup #65

AbBaSaMo opened this issue Jul 31, 2024 · 1 comment
Assignees
Labels
hardware Working on hardware interfacing and testing launch Configuring launch files

Comments

@AbBaSaMo
Copy link
Contributor

AbBaSaMo commented Jul 31, 2024

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

  • 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
@AbBaSaMo AbBaSaMo added hardware Working on hardware interfacing and testing launch Configuring launch files labels Aug 11, 2024
@AbBaSaMo
Copy link
Contributor Author

AbBaSaMo commented Aug 23, 2024

@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.

@HanifZafari HanifZafari self-assigned this Aug 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
hardware Working on hardware interfacing and testing launch Configuring launch files
Projects
None yet
Development

No branches or pull requests

4 participants