/l3xz_head_ctrl

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

Primary LanguageC++MIT LicenseMIT

💾 l3xz_head_ctrl

Build Status Spell Check status

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

How-to-build

  • Install gsl-lite
git clone https://github.com/gsl-lite/gsl-lite && cd gsl-lite
mkdir build && cd build
cmake .. && make -j8
sudo make install
  • Install Catch2
git clone https://github.com/catchorg/Catch2 && cd Catch2
mkdir build && cd build
cmake .. && make -j8
sudo make install
  • Install fmt
git clone https://github.com/fmtlib/fmt && cd fmt
mkdir build && cd build
cmake -DFMT_TEST=OFF ..
make -j8
sudo make install
  • Install mp-units
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
  • Build with colcon
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 name Type Description
/l3xz/cmd_vel_head geometry_msgs/Twist
/l3xz/head/pan/angle/actual std_msgs/Float32 Pan servo current angle / rad
/l3xz/head/tilt/angle/actual std_msgs/Float32 Tilt servo current angle / rad
Published Topics
Default name Type Description
/l3xz/l3xz_head_ctrl/heartbeat std_msgs/UInt64 Heartbeat signal containing the node uptime in seconds.
/l3xz/head/pan/mode/set msg/Mode.msg Pan servo operation mode (Position Control / Angular Velocity Control)
/l3xz/head/pan/angle/target std_msgs/Float32 Pan servo target angle / rad
/l3xz/head/pan/angular_velocity/target std_msgs/Float32 Pan servo target angular velocity / rad/sec
/l3xz/head/tilt/mode/set msg/Mode.msg Pan servo operation mode (Position Control / Angular Velocity Control)
/l3xz/head/tilt/angle/target std_msgs/Float32 Tilt servo target angle / rad
/l3xz/head/tilt/angular_velocity/target std_msgs/Float32 Tilt servo target angular velocity / rad/sec
Parameters
Name Default Description
pan_servo_initial_angle 180.0 Initial angle of the pan servo after startup / deg.
pan_servo_min_angle 170.0 Min. angle of then pan servo / deg.
pan_servo_max_angle 190.0 Max. angle of then pan servo / deg.
tilt_servo_initial_angle 90.0 Initial angle of the tilt servo after startup / deg.
tilt_servo_min_angle 80.0 Min. angle of then tilt servo / deg.
tilt_servo_max_angle 100.0 Min. angle of then tilt servo / deg.