猪年春节就这么过了, 家里的三个女人都瘦了很多, 不过低开高走, 猪事大吉.
这周要实现的内容:
1. 底盘ROS标准化, 目前先实现底盘部分VCP控制, ROSSerial通讯, 电机控制器的精细化操作.
2. Joule平台ROS标准化, 参考Kinetic标准框架搭建.
3. 实现蓝牙键盘控制底盘部分的行走.
-
//新建工作目录.
-
mkdir -p /work/BigRobot/src
-
cd /work/BigRobot/src
-
catkin_init_workspace
-
cd /work/BigRobot
-
catkin_make
规范化自己工作空间的快捷键
-
#编辑 ~/.bashrc
-
source /opt/ros/kinetic/setup.bash
-
source /work/BigRobot/devel/setup.bash
-
-
alias gw='cd /work/BigRobot'
-
alias gs='cd /work/BigRobot/src'
-
alias gm='cd /work/BigRobot && catkin_make'
-
-
export GIT_SSL_NO_VERIFY=1
这样通过 gw/gs/gm等即可快速的进行ROS工作空间切换和编译
=========================================================
首先创建 big机器人 中各个功能节点 相互通讯 所需要的 交互接口 功能包
-
gs
-
catkin_create_pkg big_msgs message_generation std_msgs roscpp
则创建了 功能包
big_msgs, 此目录用于规划各个功能节点之间的通讯接口以便于统一管理.
查看turtlebot3的规则, 一般对应的功能包目录包括的内容
-
src/include : 源码目录, CPP或者Python脚本, catkin_create_pkg时自动生成, 需手动添加内容.
-
srv: 服务文件 *.srv
-
msg: 消息文件 *.msg
-
param: 参数文件 *.yaml
-
action: 动作文件 *.action
-
launch: *.launch文件
-
CMakeLists.txt : catkin_create_pkg时自动生成, 需手动改写.
-
package.xml: catkin_create_pkg时自动生成, 需手动改写.
=========================================================
元功能包是具有共同目的的功能包的集合体, 目前考虑把 接口测试/单元测试, 应用测试, 发布环境等明确目录管理, 权做为元功能包的概念.
-
当前的使用键盘进行控制行走为一个测试单元, 此时建立一个测试目录统一管理后期的测试程序
-
-
gs
-
mkdir test_units
-
cd test_units
-
catkin_create_pkg remote_control_by_keyboard message_generation std_msgs roscpp
编辑完代码 机器人底盘 通过 VCP USB 接入到 Joule, 被Joule识别为 ttyACM0.
在 ROS端执行.
roscore
sudo chmod a+rwx /dev/ttyACM0; rosrun rosserial_python serial_node.py _port:=/dev/ttyACM0 #_baud:=115200 (CDC设置波特率没有什么意义)
rosparam load ./src/big_msgs/param/GlobalStaticConfig.yaml # 加载机器人配置信息.
rosrun remote_control_by_keyboard remote_control_by_keyboard_node #发现能传递一些东西了, 剩下就是调数据了.
-
########################################
-
# GlobalStaticConfig.yaml 底盘全局参数
-
########################################
-
# 底盘半径宽度 meter
-
ROBOT_RADIUS: 0.220
-
# 底盘轮子 半径 meter
-
WHEEL_RADIUS: 0.033
-
# 底盘两个差动轮的轴距
-
WHEEL_BASE: 0.287
-
#转弯半径, 轴距的一半?
-
TURNING_RADIUS: 0.1435
-
# 编码器最大最小值. 就是 int32的最值
-
ENCODER_MAX: 2147483647
-
#最大线速度 77是rpm, 单位 m/s
-
#double MAX_LINEAR_VELOCITY = (WHEEL_RADIUS * 2 * 3.14159265359 * 77 / 60)
-
#double MIN_LINEAR_VELOCITY = -MAX_LINEAR_VELOCITY
-
#最大角速度 单位 rad/s
-
#double MAX_ANGULAR_VELOCITY = (MAX_LINEAR_VELOCITY / TURNING_RADIUS)
-
#double MIN_ANGULAR_VELOCITY = -MAX_ANGULAR_VELOCITY
阅读(1795) | 评论(0) | 转发(0) |