Home

Awesome

<a href="https://107-systems.org/"><img align="right" src="https://raw.githubusercontent.com/107-systems/.github/main/logo/107-systems.png" width="15%"></a> :floppy_disk: l3xz_head_ctrl

Build Status Spell Check status

Head controller for the L3X-Z electric/hydraulic hexapod robot.

<p align="center"> <a href="https://github.com/107-systems/l3xz"><img src="https://raw.githubusercontent.com/107-systems/.github/main/logo/l3xz-logo-memento-mori-github.png" width="40%"></a> </p>

How-to-build

git clone https://github.com/gsl-lite/gsl-lite && cd gsl-lite
mkdir build && cd build
cmake .. && make -j8
sudo make install
git clone https://github.com/catchorg/Catch2 && cd Catch2
mkdir build && cd build
cmake .. && make -j8
sudo make install
git clone https://github.com/fmtlib/fmt && cd fmt
mkdir build && cd build
cmake -DFMT_TEST=OFF ..
make -j8
sudo make install
git clone https://github.com/mpusz/mp-units && cd mp-units
git checkout v2.0.0
mkdir build && cd build
cmake -DMP_UNITS_AS_SYSTEM_HEADERS=ON -DMP_UNITS_BUILD_LA=OFF ..
make -j8
sudo make install
cd $COLCON_WS/src
git clone https://github.com/107-systems/l3xz_head_ctrl
cd $COLCON_WS
source /opt/ros/humble/setup.bash
colcon build --packages-select l3xz_head_ctrl

How-to-run

colcon_ws$
. install/setup.bash
ros2 launch l3xz_head_ctrl head_ctrl.py

Interface Documentation

Subscribed Topics
Default nameTypeDescription
/l3xz/cmd_vel_headgeometry_msgs/Twist
/l3xz/head/pan/angle/actualstd_msgs/Float32Pan servo current angle / rad
/l3xz/head/tilt/angle/actualstd_msgs/Float32Tilt servo current angle / rad
Published Topics
Default nameTypeDescription
/l3xz/l3xz_head_ctrl/heartbeatstd_msgs/UInt64Heartbeat signal containing the node uptime in seconds.
/l3xz/head/pan/mode/setmsg/Mode.msgPan servo operation mode (Position Control / Angular Velocity Control)
/l3xz/head/pan/angle/targetstd_msgs/Float32Pan servo target angle / rad
/l3xz/head/pan/angular_velocity/targetstd_msgs/Float32Pan servo target angular velocity / rad/sec
/l3xz/head/tilt/mode/setmsg/Mode.msgPan servo operation mode (Position Control / Angular Velocity Control)
/l3xz/head/tilt/angle/targetstd_msgs/Float32Tilt servo target angle / rad
/l3xz/head/tilt/angular_velocity/targetstd_msgs/Float32Tilt servo target angular velocity / rad/sec
Parameters
NameDefaultDescription
pan_servo_initial_angle180.0Initial angle of the pan servo after startup / deg.
pan_servo_min_angle170.0Min. angle of then pan servo / deg.
pan_servo_max_angle190.0Max. angle of then pan servo / deg.
tilt_servo_initial_angle90.0Initial angle of the tilt servo after startup / deg.
tilt_servo_min_angle80.0Min. angle of then tilt servo / deg.
tilt_servo_max_angle100.0Min. angle of then tilt servo / deg.