si-machines / poli2

High level repository for Poli V2
BSD 2-Clause "Simplified" License
0 stars 7 forks source link

LED controller, limit switch #36

Closed maxsvetlik closed 6 years ago

maxsvetlik commented 6 years ago

This introduces an LED controller driver for an Arduino Mega that also incorporates a limit switch used for initialization of the tilt motor encoders. The URDF of the pan/tilt system has been updated to match current physical design.

The driver / launcher of the tilt motor that utilizes this switch is in poli_launch/scripts and is called launch_tilt_motor. The specific behavior and the conditions in which the launcher succeeds is documented in the driver file. This closes #31.

The LED controller controls the Ear LED strip and Eye LED matrix through separate services, allowing control over animations (blinking for the eyes, pulsing and gradients for the ears) as well as colors through lightweight messages over rosservices. This closes #35

Finally an all-on test script that demonstrates the [pan, tilt, pillar, led] components. Due to non-determinism in roslaunch sequences, this test script is brought up by the previously mentioned tilt motor launcher, which ensures proper timing.

The script, once completed, sets a rosparam(`/post_initialization_start/has_initialized) to prevent it from being brought up on every launching of the high level launch files. If desired, this parameter can be reset before bringing up a launch file to ensure the all-on script is run. This closes #32

maxsvetlik commented 6 years ago

Just a note: I commented out the arm in the urdf due to the custom xacro of the arm with the weiss gripper. The arm is no longer brought up on launch due to this fact.