Patrick Goebel
2b4567ec08
Added resetPID() call when robot velocities are 0 to fix motion perserverance bug
2016-04-18 06:30:15 -07:00
Patrick Goebel
d03061ae60
Added missing resetEncoders() function to encoder_driver.ino
2016-04-18 06:29:00 -07:00
Patrick Goebel
79e5a3b1a8
Updated imu.h and imu.ino and increased command argv array size from 16 to 32 to handel PID update
2016-04-11 08:03:37 -07:00
Patrick Goebel
142e529de9
Replaced all strings with F() macro in Serial.print statements
2016-04-06 06:29:51 -07:00
Patrick Goebel
9a84380e7c
Replaced all strings with F() macro in Serial.print statements
2016-04-06 06:29:19 -07:00
Patrick Goebel
6adb1bde26
Added preliminary support for Adafruit 9-DOF IMU to firmware but not yet to ROS nodes
2016-04-04 08:45:51 -07:00
Patrick Goebel
038e0cf9b4
Added support for Adafruit Motor Shield V2 and Arduino Motor Shield V3
2016-03-15 07:49:35 -07:00
Patrick Goebel
453eae91b5
Added blank line for readability in encoder_driver.ino
2016-03-15 07:47:23 -07:00
Patrick Goebel
bf88d3fa03
Fixed indentation in encoder_driver.h
2016-03-15 07:46:42 -07:00
Patrick Goebel
f7c01d41c5
Added support for Arduino Motor Shield R3
2016-01-27 06:26:10 -08:00
Patrick Goebel
5933239b70
Added support for RoboGaia 3-axis encoder shield
2016-01-27 06:25:41 -08:00
Patrick Goebel
4fd35aa2b5
Added check for duplicate servo pins in servo array
2015-12-15 06:45:31 -08:00
Patrick Goebel
33104433ca
Added new servo support
2015-12-13 08:06:59 -08:00
Patrick Goebel
58fc3dee09
Simplified #ifdef for PWM servos
2015-12-07 07:32:31 -08:00
Patrick Goebel
56686b53d2
Fixed #elif statement for ARDUINO_ENC_COUNTER
2015-12-07 07:01:11 -08:00
Patrick Goebel
5a4affcfba
Moved MAX_PWM into diff_controller.h
2015-12-07 06:52:56 -08:00
Patrick Goebel
eacd926753
Rearranged some lines for readability
2015-12-07 06:51:56 -08:00
Patrick Goebel
5f0125da8b
Fixed some indentation
2015-12-07 06:44:50 -08:00
Patrick Goebel
ca9dc66cd3
Changed #if defined to #ifdef in motor_driver.ino
2015-12-06 21:42:07 -08:00
Patrick Goebel
1a560fa508
Replaced #if defined with #ifdef statements in encoder_driver.ino
2015-12-06 21:36:15 -08:00
Patrick Goebel
b7f922f7e7
Fixed ifdef typo in encoder_driver.ino
2015-11-22 17:06:20 -08:00
theroboticsheep
e9810841b4
added support for rotating servos at different speeds
2015-04-18 18:29:53 -07:00
theroboticsheep
eda206f68c
changed default sweep delay to zero so that servos will behave normally unless delay is increased
2015-04-17 15:06:24 -07:00
theroboticsheep
ddecaa0b2c
added speed controlled servo sweep
2015-04-17 14:52:46 -07:00
Patrick Goebel
415dde63ee
Changed readEncoder() arguments from 0, 1 to LEFT, RIGHT in diff_controller.h
2015-01-30 06:17:47 -08:00
Kristof Robot
4d399627e6
Added direct support for wheel encoders (Arduino Uno)
...
Added support for wheel encoder counting directly on the main Arduino board.
This allows connecting wheel encoders directly to the Arduino board,
without the need for any additional wheel encoder counter equipment.
For speed, the code is directly addressing the specific Atmega328p ports and interrupts, making this implementation Atmega328p (Arduino Uno) dependent.
It should be easy to adapt for other boards/AVR chips though.
2014-12-29 20:13:22 +01:00
Michael Ferguson
e3b7d2498c
merge
2013-11-24 12:48:45 -08:00
Kristof Robot
7887d639f3
Bugfix - removed reset wind-up fix
...
Removed the reset windup prevention code, as the old code already
took care of that by only incrementing Ierror when output was not being clamped.
2013-08-16 16:16:48 +02:00
Kristof Robot
2c9881552b
Bugfix: added resetPID() call in RESET_ENCODERS statement,
...
to ensure that PID gets reset when encoders get reset.
2013-08-16 15:04:33 +02:00
Kristof
dad031ee2c
Enhanced PID algorithm
...
Enhanced PID algorithm based on the series of blog posts at http://brettbeauregard.com/blog/2011/04/improving-the-beginners-pid-introduction/
Specifically:
1. Avoid derivative kickback - http://brettbeauregard.com/blog/2011/04/improving-the-beginner%E2%80%99s-pid-derivative-kick/
2. Allow smooth on-the-fly tuning changes - http://brettbeauregard.com/blog/2011/04/improving-the-beginner%E2%80%99s-pid-tuning-changes/
3. Reset windup mitigation - http://brettbeauregard.com/blog/2011/04/improving-the-beginner%E2%80%99s-pid-reset-windup/
4. Bumpless initialization - http://brettbeauregard.com/blog/2011/04/improving-the-beginner%E2%80%99s-pid-initialization/
2013-08-16 10:52:57 +02:00
Michael Ferguson
12a7ca4dbb
catkinize
2013-02-02 12:43:37 -08:00
Patrick Goebel
849cb2ec83
Incorporated changes from James Nugen into ROSArduinoBridge library
2012-12-27 16:48:12 -08:00
Patrick Goebel
3d028f3bec
Added ROSArduinoBridge sketch which breaks out the motor controller and encoder functions
2012-12-26 09:42:33 -08:00
Patrick Goebel
177171332a
Servo positions are now specified in radians instead of degrees
2012-12-24 07:48:34 -08:00
Patrick Goebel
ad01b6ad55
Fixed bug in arduino_node.py changing aggregate topic name from sensors to sensor_state
2012-12-21 18:07:11 -08:00
Patrick Goebel
a1a87116f5
Changed mode variable to arg in MegaRobogaiaPololu sketch
2012-12-20 07:17:08 -08:00
Patrick Goebel
252ec14490
Changed mode variable to arg in MegaRobogaiaPololu sketch
2012-12-20 06:26:08 -08:00
Patrick Goebel
603154c1a9
Added more comments to MegaRobogaiaPololu sketch
2012-12-17 05:35:20 -08:00
Patrick Goebel
aadcd53f50
Added more comments to MegaRobogaiaPololu sketch
2012-12-16 18:53:49 -08:00
Patrick Goebel
3b2742b444
Added some comments to MegaRobogaiaPololu sketch
2012-12-15 11:00:40 -08:00
Patrick Goebel
70a0d712c5
First commit
2012-12-15 07:36:59 -08:00