ROS学习笔记一:基础教程(上)

       学习ros最好的教程便是维基百科,但是要注意一点便是中文的维基百科比较的旧特别容易出问题。还是推荐使用英文的维基百科,英文不好的同学可以用谷歌翻译(虽然翻译的水平很烂,但是可以中英文对照着看),推荐一个好办法就是看中文的维基但是命令都用英文版的维基上面的。当然对英文很反感的同学也可以看这里创客制造翻译的教程

      闲话不多说,下面是我配置ros基础教程的步骤,我的环境是Ubuntu14.04 ros是indigo。安装教程很多,也比较简单就不详细说明。

一 创建ros程序包

     1.1创建catkin工作空间

       

source /opt/ros/indigo/setup.bash
mkdir -p ~/robochengzi/src
cd ~/robochengzi/
catkin_make
source devel/setup.bash 
    这样我们就新建了一个catkin工作空间

   1.2创建catkin包

cd src/
catkin_create_pkg robot std_msgs rospy roscpp
cd ..
catkin_make
    这样我们就成功创建了一个包含std_msgs rospy roscpp的catkin包,接下来我们验证一下是否成功

   输入

rospack depends1 robot

rospack depends1 robot
~/robochengzi$ rospack depends1 robot
roscpp
rospy
std_msgs

     如果出现,说明创建成功了。你可以继续下面的操作,如果不行只能重新来一次,可能某一步出错了,也可以参考维基百科 

二 编译ros程序包

    这一步十分便捷,只需要cd到最外层的目录下,然后

catkin_make
  
ls
build  devel  src
   输入命令ls出现三个文件夹,如果出错请确定当前已经source过。

三 创建msg和srv

   3.1  创建msg

      进入robot路径

roscd robot
      创建一个Num.msg文件
mkdir msg
echo "int64 num" > msg/Num.msg
     更改 package.xml,这个文件就在当前目录下可以ls看到
     取消如下两行

   <build_depend>message_generation</build_depend>
  <!-- Use build_export_depend for packages you need in order to build against this package: -->
  <!--   <build_export_depend>message_generation</build_export_depend> -->
  <!-- Use buildtool_depend for build tool packages: -->
  <!--   <buildtool_depend>catkin</buildtool_depend> -->
  <!-- Use exec_depend for packages you need at runtime: -->
    <exec_depend>message_runtime</exec_depend> 
find_package(catkin REQUIRED COMPONENTS#在cmakelist下更改成如下形式
  roscpp
  rospy
  std_msgs
  message_generation
)
##取消注释并改成下面的形式
 add_message_files(
   FILES
   Message1.msg
   Message2.msg
)
 add_message_files(
   FILES
   Num.msg
)
##取消下面的注释
 generate_messages(
   DEPENDENCIES
   std_msgs
)
  现在可以运行一下,观察是否正确

rosmsg show Num
    出现下面的结果说明正确

   

~/robochengzi/src/robot$ rosmsg show Num
[robot/Num]:
int64 num
3.2下面我们新建一个srv

     

$ roscd beginner_tutorials
$ mkdir srv
    这次我们使用复制的方式

roscp rospy_tutorials AddTwoInts.srv srv/AddTwoInts.srv
     同样我们要更改Cmakelist文件

     找到如下代码

# add_service_files(
#   FILES
#   Service1.srv
#   Service2.srv
# )
    改成

    

## Generate services in the 'srv' folder
 add_service_files(
   FILES
   AddTwoInts.srv
 )
   下面检验一下我们的srv文件

    输入

rossrv show robot/AddTwoInts
   如果看见

   

~/robochengzi/src/robot$ rossrv show robot/AddTwoInts 
int64 a
int64 b
---
int64 sum
    说明正常。

   第一次写博客,还是特别艰难,后面没有完成的部分我会尽快完成的,希望大家喜欢。

    

          


    


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值