Crazyflie2.0初探
之前写过⼀篇安装Crazyflie 2.0的博⽂,之后⼀直忘了补上关于实际实验的内容。
在安装完相关的功能包,以及设置好权限之后,我们便可以开始实验了。
1.搜索与控制
插上Crazyradio PA与遥控器之后,我们通过
rosrun crazyflie_tools scan
来搜寻可⽤的⽆⼈机。
通过遥控⼿柄建⽴连接
roslaunch crazyflie_demo teleop_xbox360.launch uri:=radio://0/80/250K/E7E7E7E701
最后的10位为编号
2.分组和编号
在运⾏多个⽆⼈机时,势必要对不同⽆⼈机进⾏编号。那么如何对⽆⼈机进⾏编号呢
⾸先需要安装Bitcraze Crazyflie PC Client,Bitcraze SDK包含两个部分,⼀个是不⽀持⽤户图形界⾯(crazyflie-lib-python),另⼀个⽀持(crazyflie-client-python)。
安装依赖项
$ sudo apt-get install git python3 python3-pip python3-pyqt4 python3-numpy python3-zmq $ sudo pip3 install pyusb==1.0.0b2
$ sudo pip3 install pyqtgraph appdirs
安装crazyflie-lib-python
安装crazyflie-client-python
运⾏
$ cd ~/crazyflie/crazyflie-clients-python
$ python3 bin/cfclient
先修改Address为当前⽆⼈机(默认为E7E7E7E7E7),连接上后在菜单栏选择Connect--Configure 2.0,修改地址并写⼊,确认后断开重连即可。
3.Rviz
除了刚才的SDK之外,还可以利⽤Rviz来观测⽆⼈机的运动情况
先使能数据发送python虚拟机
<arg name="enable_logging" value="True" />
选择要⼴播的话题,如
<node pkg="rqt_plot" type="rqt_plot" name="rqt_plot2" args="/crazyflie/battery"/>
箭头会随着⽆⼈机的姿态改变⽽改变,另外可以在rqt图中看到电量的变化情况。
4.与OptiTrack通信
通信主要通过两种⽅式,⾸先都需要安装vrpn
利⽤单台通过虚拟机需配置⽹络
利⽤两台笔记本则只需连接到同⼀个⽹络即可(将optitrack和ubuntu的server设为同⼀个IP,⼀般为optitrack所在计算机IP)下载并安装OptiTrack Motive,完成标定
对Motive的使⽤有以下⼏个注意点
对同⼀个⽆⼈机刚体,名称应与代码中的⼀致。
⽹络接⼝的选择,应与ROS所连接⽹络位于⼀个⼦⽹内。
应注意所标定的上⽅位时Z还是Y,最好利⽤实际⽆⼈机验证⼀下。
记得勾选Broadcast,端⼝选择应与代码内保持⼀致。
注意:标定时官⽅包的建议是将⽆⼈机头朝修正后Y轴正向
这样,就可以愉快地利⽤OptiTrack来确定位置信息,完成各种复杂的Crazyflie Demo了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论