-
Notifications
You must be signed in to change notification settings - Fork 334
Open
Description
ros1 planArmTrajectoryBezierCurve.srv:
kuavo_msgs/jointBezierTrajectory[] multi_joint_bezier_trajectory
float64 start_frame_time
float64 end_frame_time
string[] joint_names
---
bool success
ros2 PlanArmTrajectoryBezierCurve.srv
kuavo_msgs/JointBezierTrajectory[] multi_joint_bezier_trajectory
float64 start_frame_time
float64 end_frame_time
string[] joint_names
---
bool success
ros1 jointBezierTrajectory.msg
kuavo_msgs/bezierCurveCubicPoint[] bezier_curve_points
ros2 JointBezierTrajectory.msg
kuavo_msgs/BezierCurveCubicPoint[] bezier_curve_points
ros1 bezierCurveCubicPoint.msg
float64[] end_point
float64[] left_control_point
float64[] right_control_point
ros2 BezierCurveCubicPoint.msg
float64[] end_point
float64[] left_control_point
float64[] right_control_point
mapping_rules.yaml
- ros1_package_name: kuavo_msgs
ros1_service_name: planArmTrajectoryBezierCurve
ros2_package_name: kuavo_msgs
ros2_service_name: PlanArmTrajectoryBezierCurve
- ros1_package_name: kuavo_msgs
ros1_message_name: jointBezierTrajectory
ros2_package_name: kuavo_msgs
ros2_message_name: JointBezierTrajectory
- ros1_package_name: kuavo_msgs
ros1_message_name: bezierCurveCubicPoint
ros2_package_name: kuavo_msgs
ros2_message_name: BezierCurveCubicPoint
After build the bridge_ws, I've got the kuavo_msgs__srv__PlanArmTrajectoryBezierCurve__factories.cpp
Expectation:
// generated from ros1_bridge/resource/interface_factories.cpp.em
#include "kuavo_msgs_factories.hpp"
#include <algorithm>
#include "rclcpp/rclcpp.hpp"
// include builtin interfaces
#include <ros1_bridge/convert_builtin_interfaces.hpp>
// include ROS 1 services
#include <kuavo_msgs/planArmTrajectoryBezierCurve.h>
// include ROS 2 services
#include <kuavo_msgs/srv/plan_arm_trajectory_bezier_curve.hpp>
namespace ros1_bridge
{
std::shared_ptr<FactoryInterface>
get_factory_kuavo_msgs__srv__PlanArmTrajectoryBezierCurve(const std::string & ros1_type_name, const std::string & ros2_type_name)
{
(void)ros1_type_name;
(void)ros2_type_name;
return std::shared_ptr<FactoryInterface>();
}
std::unique_ptr<ServiceFactoryInterface>
get_service_factory_kuavo_msgs__srv__PlanArmTrajectoryBezierCurve(const std::string & ros_id, const std::string & package_name, const std::string & service_name)
{
if (
(
ros_id == "ros1" &&
package_name == "kuavo_msgs" &&
service_name == "planArmTrajectoryBezierCurve"
) || (
ros_id == "ros2" &&
package_name == "kuavo_msgs" &&
service_name == "srv/PlanArmTrajectoryBezierCurve"
)
) {
return std::unique_ptr<ServiceFactoryInterface>(new ServiceFactory<
kuavo_msgs::planArmTrajectoryBezierCurve,
kuavo_msgs::srv::PlanArmTrajectoryBezierCurve
>);
}
return nullptr;
}
// conversion functions for available interfaces
template <>
void ServiceFactory<
kuavo_msgs::planArmTrajectoryBezierCurve,
kuavo_msgs::srv::PlanArmTrajectoryBezierCurve
>::translate_1_to_2(
const kuavo_msgs::planArmTrajectoryBezierCurve::Request& req1,
kuavo_msgs::srv::PlanArmTrajectoryBezierCurve::Request& req2
) {
req2.multi_joint_bezier_trajectory.resize(req1.multi_joint_bezier_trajectory.size());
auto multi_joint_bezier_trajectory1_it = req1.multi_joint_bezier_trajectory.begin();
auto multi_joint_bezier_trajectory2_it = req2.multi_joint_bezier_trajectory.begin();
while (
multi_joint_bezier_trajectory1_it != req1.multi_joint_bezier_trajectory.end() &&
multi_joint_bezier_trajectory2_it != req2.multi_joint_bezier_trajectory.end()
) {
auto & multi_joint_bezier_trajectory1 = *(multi_joint_bezier_trajectory1_it++);
auto & multi_joint_bezier_trajectory2 = *(multi_joint_bezier_trajectory2_it++);
Factory<kuavo_msgs::jointBezierTrajectory,kuavo_msgs::msg::JointBezierTrajectory>::convert_1_to_2(
multi_joint_bezier_trajectory1, multi_joint_bezier_trajectory2
);
}
auto & start_frame_time1 = req1.start_frame_time;
auto & start_frame_time2 = req2.start_frame_time;
start_frame_time2 = start_frame_time1;
auto & end_frame_time1 = req1.end_frame_time;
auto & end_frame_time2 = req2.end_frame_time;
end_frame_time2 = end_frame_time1;
req2.joint_names.resize(req1.joint_names.size());
auto joint_names1_it = req1.joint_names.begin();
auto joint_names2_it = req2.joint_names.begin();
while (
joint_names1_it != req1.joint_names.end() &&
joint_names2_it != req2.joint_names.end()
) {
auto & joint_names1 = *(joint_names1_it++);
auto & joint_names2 = *(joint_names2_it++);
joint_names2 = joint_names1;
}
}
template <>
void ServiceFactory<
kuavo_msgs::planArmTrajectoryBezierCurve,
kuavo_msgs::srv::PlanArmTrajectoryBezierCurve
>::translate_1_to_2(
const kuavo_msgs::planArmTrajectoryBezierCurve::Response& req1,
kuavo_msgs::srv::PlanArmTrajectoryBezierCurve::Response& req2
) {
auto & success1 = req1.success;
auto & success2 = req2.success;
success2 = success1;
}
template <>
void ServiceFactory<
kuavo_msgs::planArmTrajectoryBezierCurve,
kuavo_msgs::srv::PlanArmTrajectoryBezierCurve
>::translate_2_to_1(
const kuavo_msgs::srv::PlanArmTrajectoryBezierCurve::Request& req2,
kuavo_msgs::planArmTrajectoryBezierCurve::Request& req1
) {
req1.multi_joint_bezier_trajectory.resize(req2.multi_joint_bezier_trajectory.size());
auto multi_joint_bezier_trajectory1_it = req1.multi_joint_bezier_trajectory.begin();
auto multi_joint_bezier_trajectory2_it = req2.multi_joint_bezier_trajectory.begin();
while (
multi_joint_bezier_trajectory1_it != req1.multi_joint_bezier_trajectory.end() &&
multi_joint_bezier_trajectory2_it != req2.multi_joint_bezier_trajectory.end()
) {
auto & multi_joint_bezier_trajectory1 = *(multi_joint_bezier_trajectory1_it++);
auto & multi_joint_bezier_trajectory2 = *(multi_joint_bezier_trajectory2_it++);
Factory<kuavo_msgs::jointBezierTrajectory,kuavo_msgs::msg::JointBezierTrajectory>::convert_2_to_1(
multi_joint_bezier_trajectory2, multi_joint_bezier_trajectory1
);
}
auto & start_frame_time1 = req1.start_frame_time;
auto & start_frame_time2 = req2.start_frame_time;
start_frame_time1 = start_frame_time2;
auto & end_frame_time1 = req1.end_frame_time;
auto & end_frame_time2 = req2.end_frame_time;
end_frame_time1 = end_frame_time2;
req1.joint_names.resize(req2.joint_names.size());
auto joint_names1_it = req1.joint_names.begin();
auto joint_names2_it = req2.joint_names.begin();
while (
joint_names1_it != req1.joint_names.end() &&
joint_names2_it != req2.joint_names.end()
) {
auto & joint_names1 = *(joint_names1_it++);
auto & joint_names2 = *(joint_names2_it++);
joint_names1 = joint_names2;
}
}
template <>
void ServiceFactory<
kuavo_msgs::planArmTrajectoryBezierCurve,
kuavo_msgs::srv::PlanArmTrajectoryBezierCurve
>::translate_2_to_1(
const kuavo_msgs::srv::PlanArmTrajectoryBezierCurve::Response& req2,
kuavo_msgs::planArmTrajectoryBezierCurve::Response& req1
) {
auto & success1 = req1.success;
auto & success2 = req2.success;
success1 = success2;
}
} // namespace ros1_bridge
Actual:
// generated from ros1_bridge/resource/interface_factories.cpp.em
#include "kuavo_msgs_factories.hpp"
#include <algorithm>
#include "rclcpp/rclcpp.hpp"
// include builtin interfaces
#include <ros1_bridge/convert_builtin_interfaces.hpp>
// include ROS 1 services
// include ROS 2 services
namespace ros1_bridge
{
std::shared_ptr<FactoryInterface>
get_factory_kuavo_msgs__srv__PlanArmTrajectoryBezierCurve(const std::string & ros1_type_name, const std::string & ros2_type_name)
{
(void)ros1_type_name;
(void)ros2_type_name;
return std::shared_ptr<FactoryInterface>();
}
std::unique_ptr<ServiceFactoryInterface>
get_service_factory_kuavo_msgs__srv__PlanArmTrajectoryBezierCurve(const std::string & ros_id, const std::string & package_name, const std::string & service_name)
{
(void)ros_id;
(void)package_name;
(void)service_name;
return nullptr;
}
// conversion functions for available interfaces
} // namespace ros1_bridge
Metadata
Metadata
Assignees
Labels
No labels