No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.
diffbot_base package from diffbot repodiffbot_base diffbot_bringup diffbot_control diffbot_description diffbot_gazebo diffbot_mbf diffbot_msgs diffbot_navigation diffbot_robot diffbot_slam |
|
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | BSDv3 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-mobile-robots/diffbot.git |
VCS Type | git |
VCS Version | noetic-devel |
Last Updated | 2024-04-02 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
The diffbot_base package
Additional Links
No additional links.
Maintainers
- Franz Pucher
Authors
No additional authors.
diffbot_base
CHANGELOG
Changelog for package diffbot_base
1.1.0 (2022-03-28)
- fix: missing subscriber initialization (#54)
- feat: warn if eStop() is called on mcu
- Change base config: switch motor pins
- feat: add callbacks for low level pids on mcu
#54 For
MCU firmware
- Add subscribers for left and right motor pid controllers using
diffbot_msgs::PIDStamped custom message
- Update debug logging message (different formatting)
- Update PID controller interface (provide proportional_, integral_ and derivative_ values)
- fix: missing diffbot namespace in test
- fix: test_encoders.cpp include name
- feat: add documentation link for unity
- Merge pull request #42 from joeuser846/motor-defines Use MOTOR_LEFT/RIGHT from diffbot_base_config.h instead of hardcoding pin numbers
- Fix filenames
- Use MOTOR_LEFT/RIGHT instead of hardcoding pin numbers
- Contributors: Franz Pucher, Joe User
1.0.0 (2021-08-13)
- clean CMakeLists.txt: remove dependency
- add dependency diffbot_msgs_generate_messages_cpp to build diffbot_msgs before diffbot_base package
- Refactor: Update interface
- Exchange jointStates between high hw intf and low level base
controller
- Add measured_joint_state publisher in base controller to let
high level hw intf subscribe to it
- Remove encoder publisher (todo consider publishing at low rate)
- Update docstrings of BaseController
- Extend interface of diffbot::Encoder class to read jointStates
- refactor: renamed methods due to interface change: jointStates
- use new jointState intf between high and low level base
- make use of diffbot namespace
- Update base_controller documentation
- Update BaseController class
- Add E_STOP_COMMAND_RECEIVED_DURATION define in diffbot_base_config
- update diffbot_base
- add diffbot namespace to base_controller library classes
- update docstrings
- run rosdoc_lite
- fix some rosdoc_lite warnings
- add diffbot_base launch arg to choose robot model (for remo and diffbot)
- add AngularVelocitiesStamped.h for rosserial
- remove measured_vel_ publisher in rosserial
- add low level pid
- Add pid lib for arduino code
- make use of pid in base_controller.h
- update debug logging
- use ros::time in encoder lib
- set motor_constant=1 (gain trim model)
- make use of new diffbot_msgs in hardware interface and base_controller
- feat: add debug parameter to parameter server add option to enable/disable debug logging of the hw interface
- refactor base_controller: use ros time instead of millis
- refactor main.cpp: add base_controller class
- add base_controller.h with BaseController template class
- use class publisher and subscriber
- use BaseController instead of global variables
- read parameters from parameter server in BaseController
- add encoder resolution to config header and getter/setter
- add include guards to encoder.h
- add base_controller rosserial code using rates
- fix vector assignment of command velocity in hw intf
- add tests for motor controllers
- add compiled rosserial diffbot_msgs
- add adafruit_feather_wing motor controller class header
- moved adafruit_feather_wing.cpp to subfolder
- add adafruit_feather_wing motor controller class
- add author comment
- add abstract MotorControllerInterface class
- remove test_motors.cpp
- update encoder lib for rosserial
- add doc strings to encoder.h
- add ticksToAngle method
- add angularVelocity method
- feature: update diffbot_hw_interface
- add angular wheel joint velocity publisher
- add new WheelCmd.msg in diffbot_msgs
- load new hardware related parameters from diffbot_base/config/base.yaml - get hardware related parameters from parameter server in diffbot_hw_interface
- add gain trim parameters to dynamic reconfigure cfg
- refactor diffbot_msgs
- rename Encoder.msg to Encoders.msg
- update diffbot_pase includes and method signatures
- update arduino script
- change diffbot_msgs license to BSDv3
- add base_controller mcu scripts including tests
- Update package.xml change license and add rosserial to exec dependencies
- Contributors: Franz Pucher
0.0.2 (2021-04-30)
- fix #30: reset encoders after each new launch of hardware interface
- call reset in encoders setup()
- add method to check if encoder ticks are published
- update logging in encoders.ino
- initialize
encoder_ticks_
in hw interface initialize values inencoder_ticks_
member array of hardware interface to zero because receiving meaningful tick values from the microcontroller might take some time. Alleviates problems in #30 - fix zero time period at control loop start (#30)
- Contributors: Franz Pucher
0.0.1 (2020-12-22)
- update diffbot_base to use Encoder msg
- set control loop rate to 10 Hz
- add diffbot_msgs as dependency to diffbot_base
- use queue_size of 10
- update info output in write() method
- update initial fpid parameters and adjust their range
- update info messages with individual pid errors
- update diffbot_base/launch file to use new diffbot.urdf.xacro
- add dynamic reconfigure to pid class for f,p,i,d,i_max/min and antiwindup
- add pid i_max/min and antiwindup to Parameters.cfg
- add boost to CMakeLists.txt
- update CMakeLists.txt using dynamic reconfigure
- add dynamic_reconfigure to package.xml
- add Parameters.cfg for feed forward gain
- reset pid error and cmd values in case setpoint and p_error is zero: avoids non-vanishing i_error
- tune pid and feed forward gains
- fix major bug: prev_time not updated
- refactor pid to enable dynamic reconfigure for both motors
- add debug output logging messages to pid class and enable dynamic reconfigure - needs param for more than one pid
- let PID inherit from control_toolbox::Pid
- add pid controller for motors from ros control toolbox
- add pid.cpp in cmake
- Update version, mail and license
- fix compile error and runtime errors due to dynamic reconfigure using initPid instead of setGains and tune PID values (P=10.0)
- Update README.md and add comments to code
- move packages from ros/src to repository toplevel folder
- Contributors: Franz Pucher
Wiki Tutorials
This package does not provide any links to tutorials in it's rosindex metadata.
You can check on the ROS Wiki Tutorials page for the package.
Package Dependencies
Deps | Name |
---|---|
diagnostic_updater | |
diff_drive_controller | |
hardware_interface | |
controller_manager | |
control_toolbox | |
dynamic_reconfigure | |
urdf | |
roscpp | |
sensor_msgs | |
diffbot_msgs | |
rosparam_shortcuts | |
catkin | |
rosserial |
System Dependencies
No direct system dependencies.
Dependant Packages
Name | Deps |
---|---|
diffbot_robot |
Launch files
- launch/diffbot.launch
- https://github.com/ros-controls/ros_controllers/tree/kinetic-devel/diff_drive_controller/test
-
- model [default: diffbot] — model type [diffbot, remo]
- description_package [default: $(eval find(arg('model') + '_description'))]
- urdf_file [default: $(find xacro)/xacro '$(arg description_package)/urdf/$(arg model).urdf.xacro']
- launch/controllers.launch
Messages
No message files found.
Services
No service files found
Plugins
No plugins found.
Recent questions tagged diffbot_base at Robotics Stack Exchange
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.