opendds和ros源码编译安装

1.下载ACE+TAO6.3.0和opendds3.6

https://download.dre.vanderbilt.edu/previous_versions/

文件名ACE+TAO-6.3.0.tar.gz 2014-11-14 02:36 39M

http://download.ociweb.com/OpenDDS/previous-releases/

文件名OpenDDS-3.6.tar.gz 09-Feb-2015 10:48 23.9M
解压到/opt 目录

sudo tar -zxvf ACE+TAO-6.3.0.tar.gz -C /opt
sudo tar -zxvf OpenDDS-3.6.tar.gz -C /opt

修改权限

sudo chmod 777 -R ACE_wrappers/
sudo chmod 777 -R DDS/

2.设置环境变量

gedit ~/.bashrc

复制粘贴以下

# ACE+TAO+DDS Environment
export ACE_ROOT=/opt/ACE_wrappers
export TAO_ROOT=$ACE_ROOT/TAO
export DDS_ROOT=/opt/DDS
export PATH=$ACE_ROOT/bin:$DDS_ROOT/bin:$PATH
export LD_LIBRARY_PATH=$ACE_ROOT/lib:$DDS_ROOT/lib:$LD_LIBRARY_PATH

export DDS_CONFIG_FILE=~/ros_catkin_ws/config/dds_config_file.ini

source ~/ros_catkin_ws/install_isolated/setup.bash

刷新环境变量

source ~/.bashrc

编译安装ACE–>TAO->DDS,顺序不可调换!

3.编译安装ACE

新建$ACE_ROOT/ace/config.h

cd $ACE_ROOT/ace
sudo gedit config.h

复制粘贴以下

#include "ace/config-linux.h"

新建$ACE_ROOT/include/makeinclude/platform_macros.GNU

cd $ACE_ROOT/include/makeinclude/
sudo gedit platform_macros.GNU

复制粘贴以下,include 前没有#

include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU

进入管理者模式,第一次需要设置密码,一定要进入,否则make install可能会失败(失败也问题不大)!

su
cd $ACE_ROOT/ace/os_include
gedit os_sched.h

将第42行 #else 修改为

#elif !defined(ACE_HAS_CPU_SET_T)

然后编译安装ACE

cd $ACE_ROOT
make clean -j4  //耗时几分钟
make -j4        //耗时几分钟
INSTALL_PREFIX=/usr/local
export INSTALL_PREFIX
make install //如果失败不用管,接着安装TAO,但是这个步骤必须执行

4.编译安装TAO

cd $TAO_ROOT
make clean -j4 //耗时几十分钟
make -j4       //一个多小时,真的长时间
INSTALL_PREFIX=/usr/local
export INSTALL_PREFIX
make install  //如果失败不用管,接着安装DDS,但是这个步骤必须执行

5.编译安装DDS

cd $DDS_ROOT
./configure --prefix=/usr/local
make clean -j4
make -j4       //时间也贼长
make install  //必须执行这个步骤,如果失败不用管,接着编译ros

6.编译ros

复制ros_catkin_ws到home目录下

cd ~/ros_catkin_ws
./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release

第一次编译失败,正常,意料之中,接着

 cd ~/ros_catkin_ws/src/ros_comm/roscpp/include/ros/

将dds_messageC.inl、dds_messageTypeSupportC.inl复制到

cd ~/ros_catkin_ws/install_isolated/include/ros

再次编译

cd ~/ros_catkin_ws
./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release
source ~/.bashrc

7.设置FQDN(全域名)

查看用户名

hostname

查看ip

ip addr |grep inet  //一般开头是192.168.x.y

打开配置文件

sudo gedit /etc/hosts

在第一行写入,youripaddr yourhostname.server.com yourhostname
例如

192.168.x.y yourhostname.server.com yourhostname

刷新并查看

sudo hostname -F /etc/hostname
hostname -f

8.测试ros和dds

启动ros,并测试ros是否安装成功

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

将dds_test功能包粘贴到自己的工作空间下,测试dds性能

roscore
rosrun dds_test listener
rosrun dds_test talker

不晓得为啥订阅者会丢掉一开始的30个左右的数据,用原来的ros也是,不知道是不是我电脑的问题,具体的API使用.cpp文件中有注释,三个月的工作,终于在2020年最后一天总结完成,以上。

9.添加编译navigation包

git clone https://github.com/ros-planning/navigation.git
./src/catkin/bin/catkin_make_isolated --install --pkg amcl base_local_planner carrot_planner clear_costmap_recovery costmap_2d dwa_local_planner fake_localization global_planner map_server move_base move_slow_and_clear nav_core navfn navigation rotate_recovery voxel_grid
git clone https://github.com/ros-planning/navigation_msgs.git
./src/catkin/bin/catkin_make_isolated --install --pkg move_base_msgs
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值