Head controller for the L3X-Z electric/hydraulic hexapod robot.
- 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
colcon_ws$
. install/setup.bash
ros2 launch l3xz_head_ctrl head_ctrl.py
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 |
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 |
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. |