当前位置: 首页 > news >正文

【附带源码】机械臂MoveIt2极简教程(六)、第三个demo -机械臂的避障规划

系列文章目录

【附带源码】机械臂MoveIt2极简教程(一)、moveit2安装
【附带源码】机械臂MoveIt2极简教程(二)、move_group交互
【附带源码】机械臂MoveIt2极简教程(三)、URDF/SRDF介绍
【附带源码】机械臂MoveIt2极简教程(四)、第一个入门demo
【附带源码】机械臂MoveIt2极简教程(五)、第二个demo - rviz可视化
【附带源码】机械臂MoveIt2极简教程(六)、第三个demo -机械臂的避障规划


目录

  • 系列文章目录
  • 1. 新建C++代码
  • 2. 修改launch文件
  • 3. 修改CMakeLists.txt
  • 4. 运行


本节实现的效果就是让机械臂绕过侧面的障碍物

moveit2机械臂绕障

1. 新建C++代码

#include <moveit/move_group_interface/move_group_interface.h>
#include <moveit/planning_scene_interface/planning_scene_interface.h>
#include <moveit_visual_tools/moveit_visual_tools.h>#include <memory>
#include <rclcpp/rclcpp.hpp>
#include <thread>int main(int argc, char *argv[])
{// Initialize ROS and create the Noderclcpp::init(argc, argv);auto const node = std::make_shared<rclcpp::Node>("planning_around_objects", rclcpp::NodeOptions().automatically_declare_parameters_from_overrides(true));// Create a ROS loggerauto const logger = rclcpp::get_logger("planning_around_objects");RCLCPP_INFO(logger, "========================> start");// We spin up a SingleThreadedExecutor for the current state monitor to get// information about the robot's state.rclcpp::executors::SingleThreadedExecutor executor;executor.add_node(node);auto spinner = std::thread([&executor](){ executor.spin(); });// Create the MoveIt MoveGroup Interfaceusing moveit::planning_interface::MoveGroupInterface;auto move_group_interface = MoveGroupInterface(node, "panda_arm");// Construct and initialize MoveItVisualToolsauto moveit_visual_tools =moveit_visual_tools::MoveItVisualTools{node, "panda_link0", rviz_visual_tools::RVIZ_MARKER_TOPIC,move_group_interface.getRobotModel()};moveit_vis
http://www.lryc.cn/news/371348.html

相关文章:

  • innovus:route secondary pg pin
  • btstack协议栈实战篇--LE Peripheral - Test Pairing Methods
  • git下载项目登录账号或密码填写错误不弹出登录框
  • 平移矩阵中的数学思考
  • 【机器学习】Qwen2大模型原理、训练及推理部署实战
  • JetLinks开源物联网平台社区版部署教程
  • QT学习过程中遇到的问题自记
  • 自学网络安全的三个必经阶段(含路线图)
  • gitlab下载及安装
  • YOLOv10改进|采用ADown降采样模块有效融合
  • libGL.so.1: cannot open shared object file: No such file or directory
  • 2024年消防设施操作员考试题库及答案
  • 30字以内免费翻译维吾尔语,汉维翻译工具推荐,维吾尔文字母OCR识别神器《维汉翻译通》App!
  • 省市县选择三级联动(使用高德API实现)
  • 【数据结构(邓俊辉)学习笔记】图06——最小支撑树
  • 海豚调度清理:使用 API 轻松清理历史工作流实例以及日志文件
  • python怎么显示行号
  • pytorch中,load_state_dict和torch.load的区别?
  • ObjectARX打印当前图纸为PDF,无延迟(亲测有效)
  • torch.squeeze() dim=1 dim=-1 dim=2
  • 智慧环保一体化平台简介
  • idea在空工程中添加新模块并测试的步骤
  • HCIE-QOS基本原理
  • pycharm基本使用(常用快捷键)
  • 机器学习--回归模型和分类模型常用损失函数总结(详细)
  • 企业选择数字工厂管理系统供应商的标准是什么
  • 京准电钟|基于纳秒级的GPS北斗卫星授时服务器
  • Flutter知识点
  • 2024-06-12 问AI: 在大语言模型中,什么是Jailbreak漏洞?
  • Vue22-v-model收集表单数据