Difference between revisions of "Integrate Motor Controller with Odometry"
From wikidb
Line 21: | Line 21: | ||
roslaunch floor_hugger odometry.launch | roslaunch floor_hugger odometry.launch | ||
− | = Enabled Controller Odometry | + | = Enabled Controller Odometry = |
Enable odometry with "odom" | Enable odometry with "odom" | ||
Line 60: | Line 60: | ||
</launch> | </launch> | ||
+ | == Reference == | ||
* [http://robotsforroboticists.com/pid-control/ PID Tuning] See Manual Tuning and Ziegler–Nichols | * [http://robotsforroboticists.com/pid-control/ PID Tuning] See Manual Tuning and Ziegler–Nichols |
Revision as of 15:47, 4 May 2016
Execute
Terminal 1
roscore
Terminal 2
roslaunch floor_hugger motor_control.launch
Parameter to disable odometry
<launch> <node pkg="phidgets" type="motor_control_hc" name="motor_control_hc" respawn="true" output="screen"> <param name="odometry" value="disable" /> </node> </launch>
Terminal 3
rosrun floor_hugger to_position.py
Terminal 4
roslaunch floor_hugger odometry.launch
Enabled Controller Odometry
Enable odometry with "odom"
<launch> <node pkg="phidgets" type="motor_control_hc" name="motor_control_hc" respawn="true" output="screen"> <param name="odometry" value="odom" /> </node> </launch>
Motor controller errors messages of this type:
[ WARN] [1462401818.924243003]: Linear acceleration limit 167.613028/0.300000 reached [ WARN] [1462401819.190862871]: Angular velocity error 370.656911 degrees/sec = -0.149613 - -6.618796
Motor Controller PID Tuning
This is the first pass to get the motors to turn.
<launch> <node pkg="phidgets" type="motor_control_hc" name="motor_control_hc" respawn="true" output="screen"> <param name="odometry" value="odom" /> <param name="max_angular_error" value="100000" /> <param name="max_linear_accel" value="100000" /> <param name="linear_proportional" value="10" /> <param name="linear_integral" value="0" /> <param name="linear_derivative" value="0" /> <param name="angular_proportional" value="0.5" /> <param name="angular_integral" value="0" /> <param name="angular_derivative" value="0" /> <param name="speed" value="100" /> </node> </launch>
Reference
- PID Tuning See Manual Tuning and Ziegler–Nichols