文章目录
- 环境
- 步骤
- 备注
- 故障问题解决
- 参考
接上一篇,生成URDF后,在MoveIT Assistant生成配置用于运动规划。
https://blog.csdn.net/woshigaowei5146/article/details/128237105?spm=1001.2014.3001.5501
环境
- Ubuntu20.04;
- ROS1 Noetic;
- VMware
步骤
将上一篇生成的urdf导入。
创建碰见检测
创建和大地连接的基准轴。
添加控制组,如果有手爪还需要添加手爪。
添加姿势,一般是回零:
添加末端执行器:没有可以不要。
添加控制组:
添加作者邮箱:
生成配置文件:这里要选择另一个文件夹开头小写(我也不知道为啥),一定要选中demo.launch。
转到新建立的文件夹内,不用编译,直接运行。
source devel/setup.bash
roslaunch ur_test demo.launch
这是UR3的运动规划:
这是自己的非标机构的运动规划:
备注
config文件夹:
1.fake_controllers.yaml:这是虚拟控制器配置文件,方便我们在没有实体机器人,甚至没有任何模拟器(如gazebo)开启的情况下也能运行MoveIt。
2.joint_limits.yaml:这里记录了机器人各个关节的位置速度加速度的极限,这些都会被用于以后的规划中。
3.kinematics.yaml:用于初始化运动学求解库。
4.ompl_planning.yaml:这里是配置OMPL各种算法的各种参数。
5.pr2.srdf:SRDF是moveit的配置文件,配合URDF使用。我们可以看到这是一个xml格式的配置文件,根是robot,并有一个属性值name=’pr2’。下面各个项目应该很明显,就是我们刚刚在Setup Assistant里面所设置的东西,包含了组群,位姿,终端控制器,虚拟关节,以及碰撞免测矩阵ACM的定义。理论上,只要有了srdf和urdf,我们就可以完全定义一个机器人moveit信息。
launch文件夹:
1.demo.launch
demo是运行的总结点,打开我们可以看到他include了其他的launch文件。其中第14行说,如果有需要,发布静态的tf。比如说,你的机器人基座不在世界坐标的原点,你可以发布一个静态tf来描述机器人在世界坐标中的位置。第17-21行,就是我们发布虚拟机器人状态的地方了,当然,如果你有实体机器人或者有gazebo之类的模拟器,你需要去掉这一部分,有其他相应的节点来发布机器人状态。26-32行运行了另一个moveit重要的节点,move group。
2.move_group.launch
顾名思义,move group的功能是让一个规划组群动起来。怎么动,那就要做运动规划了,在move_group.launch第24-26行定义了运动规划库的使用,我们可以看到,默认的是使用ompl运动规划库。同样的,如果以后有时间,我会发帖详解如何创建新的运动规划库插件并让moveit使用其他的运动规划算法。其他的都是设置一些基本参数,暂时可以略过。
3.planning_context.launch
这里我们可以看到,定义了所使用的urdf和srdf文件,以及运动学求解库。不建议手动更改这些,但是如果你需要使用不同的urdf,srdf,可以在这里更改。
4.setup_assistant.launch
如果你需要更改一些配置,那么可以直接运行
需要修改配置时运行:
roslaunch test7 setup_assistant.launch
并且找到配置文件的路径:
故障问题解决
Resource not found:
ROS path [0]=/opt/ros/noetic/share/ros
…
运行roslaunch ur3 demo.launch时
发现配置文件生成路径为:/home/gw2/ws_moveit/src/UR3/my_config时会出现错误:
这个问题困扰了我半天。source也没用。
这是错误代码,一大堆:
WARNING: Package name "UR3" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits, underscores, and dashes.
... logging to /home/gw2/.ros/log/a62140f2-79fb-11ed-baee-67ad559705bb/roslaunch-gw2-77742.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
Resource not found: The following package was not found in <arg name="db_path" default="$(find my_config)/default_warehouse_mongo_db"/>: my_config
ROS path [0]=/opt/ros/noetic/share/ros
ROS path [1]=/home/gw2/ws_moveit/src/UR3
ROS path [2]=/home/gw2/ws_moveit/src/geometric_shapes
ROS path [3]=/home/gw2/ws_moveit/src/moveit/moveit
ROS path [4]=/home/gw2/ws_moveit/src/moveit_msgs
ROS path [5]=/home/gw2/ws_moveit/src/moveit/moveit_planners/moveit_planners
ROS path [6]=/home/gw2/ws_moveit/src/moveit/moveit_plugins/moveit_plugins
ROS path [7]=/home/gw2/ws_moveit/src/moveit_resources/moveit_resources
ROS path [8]=/home/gw2/ws_moveit/src/moveit_resources/dual_panda_moveit_config
ROS path [9]=/home/gw2/ws_moveit/src/moveit_resources/fanuc_description
ROS path [10]=/home/gw2/ws_moveit/src/moveit_resources/fanuc_moveit_config
ROS path [11]=/home/gw2/ws_moveit/src/moveit/moveit_commander
ROS path [12]=/home/gw2/ws_moveit/src/moveit_resources/panda_description
ROS path [13]=/home/gw2/ws_moveit/src/moveit_resources/panda_moveit_config
ROS path [14]=/home/gw2/ws_moveit/src/moveit_resources/pr2_description
ROS path [15]=/home/gw2/ws_moveit/src/moveit_resources/prbt_moveit_config
ROS path [16]=/home/gw2/ws_moveit/src/moveit_resources/prbt_pg70_support
ROS path [17]=/home/gw2/ws_moveit/src/moveit_resources/prbt_support
ROS path [18]=/home/gw2/ws_moveit/src/moveit/moveit_ros/moveit_ros
ROS path [19]=/home/gw2/ws_moveit/src/moveit/moveit_runtime
ROS path [20]=/home/gw2/ws_moveit/src/panda_moveit_config
ROS path [21]=/home/gw2/ws_moveit/src/rviz_visual_tools
ROS path [22]=/home/gw2/ws_moveit/src/srdfdom
ROS path [23]=/home/gw2/ws_moveit/src/moveit/moveit_core
ROS path [24]=/home/gw2/ws_moveit/src/moveit/moveit_planners/chomp/chomp_motion_planner
ROS path [25]=/home/gw2/ws_moveit/src/moveit/moveit_planners/chomp/chomp_optimizer_adapter
ROS path [26]=/home/gw2/ws_moveit/src/moveit_resources/prbt_ikfast_manipulator_plugin
ROS path [27]=/home/gw2/ws_moveit/src/moveit/moveit_ros/occupancy_map_monitor
ROS path [28]=/home/gw2/ws_moveit/src/moveit/moveit_ros/planning
ROS path [29]=/home/gw2/ws_moveit/src/moveit/moveit_plugins/moveit_fake_controller_manager
ROS path [30]=/home/gw2/ws_moveit/src/moveit/moveit_kinematics
ROS path [31]=/home/gw2/ws_moveit/src/moveit/moveit_planners/ompl
ROS path [32]=/home/gw2/ws_moveit/src/moveit/moveit_ros/move_group
ROS path [33]=/home/gw2/ws_moveit/src/moveit/moveit_ros/manipulation
ROS path [34]=/home/gw2/ws_moveit/src/moveit/moveit_ros/perception
ROS path [35]=/home/gw2/ws_moveit/src/moveit/moveit_ros/robot_interaction
ROS path [36]=/home/gw2/ws_moveit/src/moveit/moveit_ros/warehouse
ROS path [37]=/home/gw2/ws_moveit/src/moveit/moveit_ros/benchmarks
ROS path [38]=/home/gw2/ws_moveit/src/moveit/moveit_ros/planning_interface
ROS path [39]=/home/gw2/ws_moveit/src/moveit/moveit_planners/chomp/chomp_interface
ROS path [40]=/home/gw2/ws_moveit/src/moveit/moveit_ros/visualization
ROS path [41]=/home/gw2/ws_moveit/src/moveit/moveit_ros/moveit_servo
ROS path [42]=/home/gw2/ws_moveit/src/moveit/moveit_setup_assistant
ROS path [43]=/home/gw2/ws_moveit/src/moveit/moveit_plugins/moveit_simple_controller_manager
ROS path [44]=/home/gw2/ws_moveit/src/moveit/moveit_plugins/moveit_ros_control_interface
ROS path [45]=/home/gw2/ws_moveit/src/moveit_visual_tools
ROS path [46]=/home/gw2/ws_moveit/src/moveit_tutorials
ROS path [47]=/home/gw2/ws_moveit/src/moveit/moveit_planners/pilz_industrial_motion_planner_testutils
ROS path [48]=/home/gw2/ws_moveit/src/moveit/moveit_planners/pilz_industrial_motion_planner
ROS path [49]=/home/gw2/ws_moveit/src/test7
ROS path [50]=/opt/ros/noetic/share
The traceback for the exception was written to the log file
后来发现要生成到另一个单独的文件夹(例如/home/gw2/test/src/robot),并且开头字母要小写。
我也不知道什么原因,有知道的大神麻烦告知下。感谢。
RLException: [demo.launch] is neither a launch file in package [assis_config
在工作空间下:source devel/setup.bash
REQUIRED process [moveit_setup_assistant-2] has died!
sudo apt-get update
sudo apt-get upgrade
参考
https://ros-planning.github.io/moveit_tutorials/doc/setup_assistant/setup_assistant_tutorial.html