open和dds安装
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