1,目的
使用树莓派GPIO控制电机驱动,实现小车的前进后退左转右转停止运行。
深入理解ROS框架
使用wiringPi控制pi的GPIO
2,环境搭建
a,小车部分:4个小电机,小车底盘和电机驱动(L298N)
b,pi3,搭载ubuntu-mate嵌入式系统,ROS core,wiringPi,通过PC ssh 客户端访问
c,PC,virtualBox虚拟机中使用ubuntu-mate桌面系统,完整ROS
d,pi3和PC虚拟机(网络使用桥接)连到同一个路由器下,可以网络通讯
ubuntu-mate系统,ROS框架,wiringPi安装办法请在相应官网查询
3,实现
在ROS教程中beginning tutorial 建立两个node实现,pi上node subscribe 一个commands的topic,获取消息,控制小车运行。为了实现简单,msg使用UInt8,PC虚拟机上修改turtle_teleop_key.py,实现通过键盘向commands 的topic发送消息 也可以通过topic pub 方式实现控制。
困难1:小车控制部分代码使用C++语言完成,要调用C的wiringPi库,并且实现通过catkin_make编译。好在已经有人解决了。
c++ - Add wiringPi lib to cmake on RaspberryPi - Stack Overflow
困难2: PC虚拟机上运行roscore,在虚拟机上和