Fix build and dependency issues

This commit is contained in:
X-lanni
2025-06-05 18:19:09 +08:00
parent f38e38a56b
commit d1def0f369
4 changed files with 29 additions and 18 deletions
+7 -1
View File
@@ -13,6 +13,7 @@ find_package(std_msgs REQUIRED)
find_package(geometry_msgs REQUIRED)
find_package(tf2 REQUIRED)
find_package(tf2_ros REQUIRED)
find_package(tf2_geometry_msgs REQUIRED)
find_package(sensor_msgs REQUIRED)
find_package(geometry_msgs REQUIRED)
find_package(nav_msgs REQUIRED)
@@ -20,7 +21,10 @@ find_package(nav_msgs REQUIRED)
# further dependencies manually.
# find_package(<dependency> REQUIRED)
add_executable(agv_pro_node src/agv_pro_node.cpp)
add_executable(agv_pro_node
src/agv_pro_node.cpp
src/agv_pro_ros.cpp
)
target_include_directories(agv_pro_node PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
@@ -32,7 +36,9 @@ ament_target_dependencies(agv_pro_node
rclcpp
tf2
tf2_ros
tf2_geometry_msgs
std_msgs
sensor_msgs
geometry_msgs
serial_driver
nav_msgs
@@ -11,26 +11,14 @@
#include <sensor_msgs/msg/imu.hpp>
#include <tf2_ros/transform_broadcaster.h>
#include <tf2/LinearMath/Quaternion.h>
#include <tf2_geometry_msgs/tf2_geometry_msgs.h>
#include <tf2_geometry_msgs/tf2_geometry_msgs.hpp>
#define RECEIVE_DATA_SIZE 13 //The length of the data sent by the esp32
#define SEND_DATA_SIZE 13 //The length of data sent by ROS to the esp32
#define RETURN_COMMAND 0x25
std::array<double, 36> odom_pose_covariance = {
{1e-9, 0, 0, 0, 0, 0,
0, 1e-3, 1e-9, 0, 0, 0,
0, 0, 1e6, 0, 0, 0,
0, 0, 0, 1e6, 0, 0,
0, 0, 0, 0, 1e6, 0,
0, 0, 0, 0, 0, 1e-9} };
std::array<double, 36> odom_twist_covariance = {
{1e-9, 0, 0, 0, 0, 0,
0, 1e-3, 1e-9, 0, 0, 0,
0, 0, 1e6, 0, 0, 0,
0, 0, 0, 1e6, 0, 0,
0, 0, 0, 0, 1e6, 0,
0, 0, 0, 0, 0, 1e-9} };
extern std::array<double, 36> odom_pose_covariance;
extern std::array<double, 36> odom_twist_covariance;
class AGV_PRO : public rclcpp::Node
{
+1
View File
@@ -15,6 +15,7 @@
<depend>serial_driver</depend>
<depend>asio_cmake_module</depend>
<depend>io_context</depend>
<depend>tf2_geometry_msgs</depend>
<test_depend>ament_lint_auto</test_depend>
<test_depend>ament_lint_common</test_depend>
+18 -2
View File
@@ -1,5 +1,21 @@
#include "agv_pro_base/agv_pro_driver.h"
std::array<double, 36> odom_pose_covariance = {
{1e-9, 0, 0, 0, 0, 0,
0, 1e-3, 1e-9, 0, 0, 0,
0, 0, 1e6, 0, 0, 0,
0, 0, 0, 1e6, 0, 0,
0, 0, 0, 0, 1e6, 0,
0, 0, 0, 0, 0, 1e-9} };
std::array<double, 36> odom_twist_covariance = {
{1e-9, 0, 0, 0, 0, 0,
0, 1e-3, 1e-9, 0, 0, 0,
0, 0, 1e6, 0, 0, 0,
0, 0, 0, 1e6, 0, 0,
0, 0, 0, 0, 1e6, 0,
0, 0, 0, 0, 0, 1e-9} };
AGV_PRO::AGV_PRO(std::string node_name):rclcpp::Node(node_name)
{
this->declare_parameter<std::string>("port_name","/dev/ttyS0");
@@ -101,8 +117,8 @@ void AGV_PRO::cmdCallback(const geometry_msgs::msg::Twist::SharedPtr msg)
try
{
size_t bytes_transmit_size = port->send(data_vec);
port->send(data_vec);
// size_t bytes_transmit_size = port->send(data_vec);
// std::stringstream ss;
// for (auto b : data_vec) {
// ss << std::hex << std::uppercase << std::setfill('0') << std::setw(2)