Aruco_ros安装及使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Aruco_ros安装及使用相关的知识,希望对你有一定的参考价值。

参考技术A 1.cd ~/catkin_ws/src
2.git clone https://github.com/pal-robotics/aruco_ros.git
3.cd ..
4.catkin_make install
5.sudo apt-get install ros-indigo-usb-cam(试了好几遍,一直有问题,但某来不知道怎么里面就存在了)
6.source install/setup.bash
7.cd src/aruco_ros/aruco_ros/launch/

修改aruco_ros下的single.launch文件,修改节点。如果使用usb摄像头可以通过usb_cam节点发布的image和camera_info主题。如果使用kinect摄像头,改成kinect相应的节点。
<remap from=”/camera_info” to=”/usb_cam/camera_info” />
<remap from=”/image” to=”/usb_cam/image_raw” />

1.roscore
2.roslaunch usb_cam-stream.launch(使用kinect摄像头改成相应的驱动起来)
3.cd ~/catkin_ws/src/aruco_ros/aruco_ros/launch/
roslaunch single.launch
4.rosrun image_view image_view image:=/aruco_single/result
(检测marker点)
5.rostopic echo /aruco_single/pose(查看位姿)

超详细ubuntu安装redis及使用

ubuntu安装redis及使用

有些代码或者步骤可能有些区别和不妥,欢迎指正
参考博客:ubuntu 安装redis

ubuntu安装redis及使用

redis安装

我安装的redis版本为5.0.14.1
虚拟机有网络应该是可以使用命令下载的
redis下载
首先在windows下将安装包下载下来,再传输到虚拟机中。
我使用的是xftp进行文件传输和连接虚拟机
先使用ifconfig命令查看本机ip

使用xftp建立连接
主机填写查到的ip地址,用户名密码填写你的。
连接建立后将下载的文件拖拽过去即可:
一直连接不上的可以看看虚拟机中是否配置了ssh服务,未配置的需要下载ssh服务

下载:
sudo apt install openssh-server
开启:
sudo service sshd start

将下载好的redis压缩包解压缩

我将其移动到usr/local下面(mv指令显示权限不够,需要root权限)

进入redis文件夹,安装redis
初始的redis下不包含redis.server和redis.cli等文件,需要安装后才会有,执行make命令
注意
在这里没有make工具的需要下载,在更新时遇到类似

: 仓库 “https://mirrors.tuna.tsinghua.edu.cn/ubuntu impish-backports Release” 没有 Release 文件。

问题的需要更换软件源,可参考下面的博客

仓库 “https://mirrors.tuna.tsinghua.edu.cn/ubuntu xenial Release” 没有 Release 文件
下载make工具
继续操作:

再在redis的src目录下看见redis-cli和server即成功

修改配置文件redis.conf
打开文件:

gedit redis.conf

修改密码

修改bind,在末尾追加本机的ip地址(允许其他服务器连接)

启动redis服务
src目录下,执行启动命令(指定配置文件启动redis)

可以通过修改redis.conf中的daemonize,设置为yes,则切换启动方式为后台启动

连接redis客户端
![在这里插入图片描述](https://img-blog.csdnimg.cn/044047193a874951a31bb2ecd0e3bede.png

redis主从复制

搭建一主多从
配置一主两从:
桌面新建一个myredis文件夹,复制redis.conf到文件夹

创建三个配置文件redis6378.conf,redis6380.conf,redis6381.conf,并在文件中写入相应内容(通过include引入原始配置)

同理创建其他两个文件:
只不过要加上

masterauth 123456

启动三台服务器:


使用info replication可以打印主从复制的相关信息

配置从机
slaveof <主机ip>
如下可以在命令行设置(从服务器挂掉重启后会重新变为单独的主机)

也可以在conf中直接设置(这样在从服务器挂掉重启后,仍旧是从服务器)

可以查看是否配置成功:

测试:

注意

最开始我使用6379为主机,但是一直连接不上从库,原因是redis的原始默认端口为6379,而我自己又配置了一个6379的文件,之后我使用了6378作为主机。

主从复制原理

1、当从连接上主服务器之后,从服务器向主服务发送进行数据同步消息
2、主服务器接到从服务器发送过来同步消息,把主服务器数据进行持久化,rdb文件,把rdb文件发送从服务器,从服务器拿到rdb进行读取。
3、每次主服务器进行写操作之后,和从服务器进行数据同步
参考链接:
Redis 的主从同步,及两种高可用方式

redis哨兵模式

能够后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库。

实现

参考博客
1、在myredis文件夹下创建sentinel.conf文件写入如下语句

port 26378
sentinel monitor mymaster 127.0.0.1 6378 1
sentinel auth-pass mymaster 123456

其中mymaster为监控对象起的服务器名称,为至少有多少个哨兵同意迁移的数
因为我的主服务器不是默认的6379所以要进行port设置。
如果设置了redis密码就必须设置上述第三行,否则哨兵设置不生效,报错:

Next failover delay: I will not start a failover before

2、启动哨兵

没有启动成功的可能需要下面的下载命令。

sudo apt install redis-sentinel

这时把主服务器shutdown

哨兵监听显示会尝试连接断掉的服务器,连接失败后,选举6380服务器为新Master
可以看到6380成为了新的主服务器

重启6378服务器


可以看到它变为了6380的从服务器

在Linux上,如果开了redis的守护进程,kill -9和redis-cli shutdown 命令是无法杀掉 redis 进程的 ,杀掉就会重新启动一个新的进程
可以使用这个命令:

/etc/init.d/redis-server stop

以上是关于Aruco_ros安装及使用的主要内容,如果未能解决你的问题,请参考以下文章

机器人操作系统(ROS)入门与实践--1

ROS下Kinect2的驱动安装及简单应用

ROS下Kinect2的驱动安装及简单应用

ROS 工作空间、package 及 catkin 编译系统

ROS中进行大陆ARS408雷达点云的可视化及二次开发

从头开始安装Ubuntu,cuda,cudnn,caffe,tensorflow,ROS