GithubHelp home page GithubHelp logo

head's Introduction

#Head包程序

早前版程序(当前master和old-master):使用python的serial进行串口通信,对Dynamixel的EX106进行驱动。

上一版程序(ros分支,能够正常工作):使用python与arduino的serial进行通讯读取IMU,利用service驱动头部电机,并且发送msg给gait/head_pose

当前分支(master分支):在ros基础上增加了可选择的PID控制,roslaunch

##Usage

##旧版本,/dev/ttyUSB1为arduino串口,/dev/ttyUSB0为电机控制串口
python head.py

##新版本,不需要电机控制串口,arduino串口为/dev/ttyACM0,在/catkin_ws/src下:

git clone [email protected]:guzhaoyuan/Head.git
cd ..
catkin_make
rosrun Head head.py

##功能

  • node 为 /Head_data
    • 给 Head/head_angel 的 topic 发 msg
  • node 为 /head_control_server
    • 给 Head/head_servo_angel 的 topic 发 msg
    • 提供 /head_control_withPID 的 service 控制头部电机
    • 接收 Head/head_angel 的topic 的 data,并且根据client 的 PID参数 决定是否使用PID

##Structure

  • head2.py #新版主程序入口,从head.py修改而来
  • head_client.py #控制头部电机的client
  • head.py #主程序入口,PID控制电机保持某一姿态
  • EX106.py #底层驱动Dynamixel EX MX AX,串口通讯
  • pid.py #pid算法实现
  • readIMU.py #读取IMU数据并且使用
  • home.py #测试文件,用于将Dynamixel电机返回中值

##Dependency

  • pySerial
  • time

##ToDo

  • 考虑PID的应用场景
  • 和决策确定接口和PID使用方法
  • 添加2个msg,分别为头部姿态和头部电机转角
  • 给ROS添加 service
  • 评估工作量修改底层驱动代码工作量
  • 修改底层代码

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.