Motor Controller Rewrite
From wikidb
Build
Additions to ~/catkin_ws_indigo/src/phidgets_cat/CMakeList.txt
# motor_control_hc_nav add_executable(motor_control_hc_nav src/motor_control_hc_nav.cpp) target_link_libraries(motor_control_hc_nav ${catkin_LIBRARIES} phidget21 )
Launch Script
Launch script in floor_hugger/launch/motor_control_nav.launch
<launch> <node pkg="phidgets_cat" type="motor_control_hc_nav" name="motor_control_hc_nav" respawn="true" output="screen"> <param name="odometry" value="/odom" /> <param name="wheelbase" value="305" /> <param name="pid_proportional" value="15" /> <param name="pid_integral" value="60" /> <param name="pid_derivative" value="0" /> </node> </launch>
Test Execution
Terminal 2
The motor_control_nav launch script executes the code associated with the motor_control_hc_nav.cpp code in the phidgets_cat package.
roslaunch floor_hugger motor_control_nav.launch
Terminal 3
roslaunch floor_hugger odometry.launch
Terminal 4
Take the place of the navigation stack by publishing a cmd_vel message of type Twist. It has linear.x value of 0.20 m/sec and an angular.z value of 0.1 radians/sec.
roscd floor_hugger/test/ python motors_go_full.py 0.20 0.1
motors_go_full.py <linear.x> <angular.z>
Terminal 5
Monitor resulting motor status with one of the following
rostopic echo odom rqt_plot /cmd_vel/linear/x /odom/twist/twist/linear/x /odom/twist/twist/linear/y