1 Star 0 Fork 0

黄先 / activeVision

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

activeVision

介绍

节卡机器人主动视觉机构

软件架构

软件架构说明 active_vision中为主动视觉代码 ftservoControl为ros信息转到飞特舵机控制信息的控制代码

安装教程

ros功能包,依赖于Moveit, Eigen等

V1.x使用说明

  1. 请在使用前先打开moveit仿真以及八叉树建图结点
roslaunch jakazu7_moveit_test_config demo.launch
rosrun jaka_moveit_action OctomapGene
//fake octomap
  1. 打开飞特舵机控制程序,主动视觉机构初始化
rosrun ftservoControl servoControl
  1. 打开主动视觉机构
rosrun active_vision_control activeSwarmControl

相机调试

rosrun active_vision_control activeSwarmTest
  1. 机器人控制:可以使用jakaPathSearching中的testRobotTraj进行控制,已经适配了接口

V2.x使用说明

  1. 请在使用前先打开moveit仿真
roslaunch jakazu7_moveit_test_config demo.launch
  1. 打开飞特舵机控制程序,主动视觉机构初始化
rosrun ftservoControl servoControl
  1. 打开主动视觉机构
rosrun active_vision_control activeVision2main
  1. 主动视觉仿真分析: 直接打开仿真节点,该节点会主动发送各个障碍物的位姿,并且自动运行activeVision2main。
roslaunch active_vision_control peopleDetectionSim.launch

相机标定

  1. 摆放好aruco标定板以及主动视觉机构舵机(一个机构一个机构测)
  2. 计算好各个角度,将其填入cameraCalibration.launch中(推荐不修改,采用垂直构型)
  3. aruco板子选择:可以自行选择标准的aruco板,代码的更改在这里
    aruco_dict = cv::aruco::getPredefinedDictionary(cv::aruco::DICT_4X4_1000);// You can change the dictionary to yours
  1. 在deviceCalibration.cpp中写入参数
    //camera_matrix = ...; // Initialize with known camera matrix
    //dist_coeffs = ...; // Initialize with known distortion coefficients
    //acuro_board_pose = ...; // Initialize with known acuro board pose

注意,acuro_board_pose中坐标系z轴沿着acuro板的法线方向

  1. 打开launch文件,会输出估计的相机角度(请先打开realsense,节点需要读取image信息)
    roslaunch active_vision_control cameraCalibration.launch 

如果报错请查看usb口连接端口号

    ls /dev/tty*

查看所有dev端口,寻找/dev/ttyUSB*,填入下面的port中

    roslaunch active_vision_control cameraCalibration.launch port:=xxxx
  1. 完成一个标定后可更换下一个机构标定

项目展示

  1. 功能介绍 能够基于输入的圆柱包络,计算质心并且观测质心。
  2. 舵机控制开启
    roslaunch active_vision_control activeVisionDisp.launch
  1. 接口介绍
  • 障碍物输入接口/obsState,消息类型为std_msgs/Float64MultiArray,和之前项目中障碍物输入接口相同。
  • TF树:在接收到障碍物后会一直维护。
  1. 一些建议
  • 上面的舵机有限位,大约为0~70度之间
  • 若坐标系不准,可能是各个关节长度的问题,修改launch文件中的l1l3,其中l1对应第二个舵机的轴到地面的距离,l3对应第二个舵机的轴到相机的距离。

版本更新说明

  • v1.0:实现了舵机离散最优决策
  • v1.1:实现了空八叉树输入(但在实际应用中不支持空轨迹输入)的正确显示
  • v1.2:实现了轨迹外部接口,代码优化
  • v1.3:添加了标定接口
  • v1.4:添加了相机调试接口
  • v1.5:添加了云台调度轨迹插补
  • v2.0:基于碰撞概率和不确定度的主动视觉机构控制,还需要实现语义地图的构建,在代码上暂时不可运行,测试请运行testSafeMDP
  • v2.1:已经调整好接口,实现持续主动视觉控制,更新仿真环境
  • v2.2:解决内存泄漏的问题,现在可以执行仿真环境仿真

空文件

简介

Active Vision Algorithm for JAKA ROBOT 展开 收起
C++ 等 3 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/hx2020hx/active-vision.git
git@gitee.com:hx2020hx/active-vision.git
hx2020hx
active-vision
activeVision
master

搜索帮助