ROS 自己的package

参考blog:  https://blog.csdn.net/sujun3304/article/details/18794077

kDevelop IDE设置 https://blog.csdn.net/p942005405/article/details/75715288


键盘控制s_cmdPub,输出cmd_vel(geometry_msgs包):

CMakeList.txt

cmake_minimum_required(VERSION 2.8.3)
project(s_move)
find_package(catkin REQUIRED COMPONENTS
  roscpp
  rospy
  std_msgs
  geometry_msgs
)
generate_messages(DEPENDENCIES geometry_msgs) 
catkin_package(
CATKIN_DEPENDS geometry_msgs
)
add_executable(s_cmdPub src/s_cmdPub.cpp)
target_link_libraries(s_cmdPub ${catkin_LIBRARIES})
include_directories(
  ${catkin_INCLUDE_DIRS}

)

package.xml

<?xml version="1.0"?>
<package format="2">
  <name>s_move</name>
  <version>0.0.0</version>
  <description>The s_move package</description>
  <maintainer email="@todo.todo"></maintainer>
  <license>TODO</license>
  <buildtool_depend>catkin</buildtool_depend>
  <build_depend>roscpp</build_depend>
  <build_depend>rospy</build_depend>
  <build_depend>std_msgs</build_depend>
  <build_depend>geometry_msgs</build_depend>
  <build_export_depend>roscpp</build_export_depend>
  <build_export_depend>rospy</build_export_depend>
  <build_export_depend>std_msgs</build_export_depend>
  <build_export_depend>geometry_msgs</build_export_depend>
  <exec_depend>roscpp</exec_depend>
  <exec_depend>rospy</exec_depend>
  <exec_depend>std_msgs</exec_depend>
  <exec_depend>geometry_msgs</exec_depend>
  <export>
  </export>
</package>



动作部分:

1、特定动作(无map)

基于base_link的动作组合:走直线,走方格,转圈

part1 目标g分解,根据输入命令参数形成目标流(或使用既有的目标流)

part2 通过直走x距离func1、转弯x角度func2组合完成 g。

part3 如何确定是否完成g,只能依靠里程计信息(基于base_link坐标系)。

2、基于map的特定动作

基于map的动作组合:到map某点

part1 基于输入命令从保存的地点信息中


控制部分:

1、分解语音,指向相应指令,返回指向结果。

2、保存目前地点信息。

3、开机后尝试在localmap中移动,完成amcl定位后,返回信息

4、将指令处理情况合成语音输出



问题记录:

1、动作goal发布给move_base?

2、动态参数调节?
3、模拟器



猜你喜欢

转载自blog.csdn.net/fantasysolo/article/details/80526819