【moveit2 教程解析】(一)第一个 C++ Moveit 程序

(一)官方教程

  • humble版本的ros2所对应的moveit2教程:https://moveit.picknik.ai/humble/doc/tutorials/visualizing_in_rviz/visualizing_in_rviz.html
  • moveit官方教程:https://moveit.picknik.ai/main/doc/tutorials/tutorials.html
  • Linux常用操作:https://blog.youkuaiyun.com/m0_46422300/article/details/104645072

(二)Ubuntu22.04 + ROS2 Humble 配置Moveit2环境

https://blog.youkuaiyun.com/qq_44940689/article/details/137968166

报错解决方案:

  • rosdep init报错:https://zhuanlan.zhihu.com/p/398754989、https://blog.youkuaiyun.com/qq_30267617/article/details/115028689

  • vcs import < moveit2_tutorials/moveit2_tutorials.repos 中的 moveit2 下载失败:换一个稳定节点或者手动下载,记得换分支;

(三)第一个 C++ Moveit程序

参考:https://blog.youkuaiyun.com/qq_44940689/article/details/138060953

(1)创建功能包

和ROS2的开发流程一致,首先我们需要构建一个功能包来存放我们的脚本程序,进入之前的工作空间ws_moveit2,然后新建我们自己的功能包;

cd ~/ws_moveit2/src
ros2 pkg create --build-type ament_cmake \
--dependencies moveit_ros_planning_interface rclcpp \
--node-name hello_moveit2 hello_moveit2

或者
ros2 pkg create hello_moveit2 --build-type ament_cmake \
--dependencies moveit_ros_planning_interface rclcpp \
--node-name hello_moveit2

运行该命令后,配置文件 CMakeLists.txtpackage.xml 中的依赖将会自动配置。

注意:包名需要满足正则表达式:[a-z](_?[a-z0-9]+)*,即

  • 必须以小写字母开头。

  • 包含小写字母、数字,且单词之间可以用单个下划线隔开。

  • 不能有大写字母,不能以下划线开头或结尾,也不能出现连续的下划线。

(2)编写moveit2节点的基本模板

hello_moveit2.cpp文件中写入以下内容,这些内容算是编写moveit2节点的基本模板;

#include <memory>

#include <rclcpp/rclcpp.hpp>
#include <moveit/move_group_interface/move_group_interface.h>

int main(int argc, char * argv[])
{
   
  // Initialize ROS and create the Node
  rclcpp::init(argc, argv);
  auto const node = std::make_shared<rclcpp::Node>(
    "hello_moveit",
    rclcpp::NodeOptions().automatically_declare_parameters_from_overrides(true)
  );

  // Create a ROS logger
  auto const logger = rclcpp::get_logger("hello_moveit");

  // Next step goes here

  // Shutdown ROS<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值