Skip to content

micro-ROS firmware for the AKROS2 robot using micro_ros_arduino. Based on linorobot2

License

Notifications You must be signed in to change notification settings

rosmo-robot/akros2_firmware

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

akros2_firmware

Firmware and libraries for the akros2 robot, based on linorobot2_hardware repository and the MECANUM config. Using a Teensy 4.1 with an expansion board from Tindie. I'm using the same libraries as linorobot2, but have added/changed a few things to the firmware:

  • Option for native ethernet transport (UDP4).
  • Option to set ROS_DOMAIN_ID.
  • Neopixel status and mode indicator using FastLED.
  • Compiling/uploading using Arduino IDE and modified micro_ros_arduino libraries instead of PlatformIO.
  • Mode subscriber with custom akros2_msgs/Mode type.
  • Joint State publishers to publish the measured and required joint states (velocities and positions) as separate sensor_msgs/JointState messages.
  • TODO - Refactoring: Calibration sketch updated and moved to a separate repo arduino_sketchbook_ros.
    • Reports max RPMs (revolutions per minute) using pre-defined CPRs (counts per revolution), instead of the other way around.
    • Also reports the calculated CPRs and its deviation from the pre-defined CPRs.
  • TODO: Parameter server reads gain values (kp, ki, kd, scale) set on the ROS2 host, and reacts to these values when they change. Used for PID tuning.
    • Parameters are initialized using values defined in the configuration. These values are also used during re-initialization (when agent is reconnected)
    • Config needs to be updated and then the firmware needs to be recompiled with the tuned PID gains.
  • TODO: Fuse encoder and IMU measurements.

Generic linorobot2 installation and setup instructions can be found on the galactic branch.

About

micro-ROS firmware for the AKROS2 robot using micro_ros_arduino. Based on linorobot2

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 94.6%
  • C 4.4%
  • Processing 1.0%