What is ros-control
I wrote summary about ros control.
What is ros-control?
How to use ros-control?
Thank you.
ros-control
- A set of packages that include controller interfaces, controller managers, transmissions and hardware_interfaces.
- The ros_control packages are a rewrite of the pr2_mechanism packages to make controllers generic to all robots beyond just the PR2.
- The ros_control packages takes as input the joint state data from your robot’s actuator’s encoders and an input set point. It uses a generic control loop feedback mechanism, typically a PID controller, to control the output, typically effort, sent to your actuators. ros_control gets more complicated for physical mechanisms that do not have one-to-one mappings of joint positions, efforts, etc but these scenarios are accounted for using transmissions.
There are some modules.
- Controller manager
- Controller
- Hardware interface
<http://gazebosim.org/tutorials/?tut=ros_control>
Controller don’t care which module (simulation or hardware) provide data.
Controller needs joint state info and joint command info.
Controller
There are many controller on ros-control.
I used joint state_controller and joint_trajectory_controller for head control.
You need to set control parameter (PID gain, velocity_ff, etc.)
In control.yaml, head_controller has two joint (pan_joint and tilt_joint) and make trajectories.
Trajectories are specified as a set of waypoints to be reached at specific time instants, which the controller attempts to execute as well as the mechanism allows. Waypoints consist of positions, and optionally velocities and accelerations.
Controller_manager
controller_manager manages some controllers
controller_manager needs to load controllers.
<!– Load joint controller configurations from YAML file to parameter server –>
<rosparam file=”$(find cam_pan_tilt)/config/control.yaml” command=”load”/>output=”screen” ns=”/gretchen” args=”joint_state_controller
head_controller”/>
RQT_GRAPH
How to connect real robot
need to costruct hardware_inferface
It is hardware_interface example.
ROBOTICS made hardware_interface of dynamixel motor for ros-control.
Example
1) Head Controller
Head controller control pan and tilt. input of the controller is tf, joint_states, head_controller/state
- tf
- tf is relationship between frames
-
tf is a package that lets the user keep track of multiple coordinate frames over time. tf maintains the relationship between coordinate frames in a tree structure buffered in time, and lets the user transform points, vectors, etc between any two coordinate frames at any desired point in time.
- joint_states
- it is raw data from motor controller
- head_controller/state
- desired, actual, error check for control
- it is calculated by controller.
output
- head_controller/command
- set radian postion at each joint
2) Other robot
You can easily control the robot manipulator using ros-control and moveit.
3) Simple pan title model
1. User click a point
2. make target_line using the point
Target_line consist of those
- geometry_msgs/PointStamped target
- geometry_msgs/Vector3 pointing_axis
- string pointing_frame
- duration min_duration
- float64 max_velocity
3. calculate inverse kinematics for getting joint angles
4. publish angle on each joint
5. move
Why it is need?
Once control part constructed using ros-package.
Perception part focus recognition and just publish u,v.
Reference
- http://wiki.ros.org/ros_control
- http://gazebosim.org/tutorials/?tut=ros_control
- http://wiki.ros.org/joint_trajectory_controller
- https://pinkwink.kr/1013
- https://github.com/ros-controls/ros_control/wiki/hardware_interface
짱짱맨 호출에 응답하여 보팅하였습니다.
Hi @jacobyu!
Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 2.474 which ranks you at #16638 across all Steem accounts.
Your rank has improved 81 places in the last three days (old rank 16719).
In our last Algorithmic Curation Round, consisting of 252 contributions, your post is ranked at #121.
Evaluation of your UA score:
Feel free to join our @steem-ua Discord server
어마어마한 자료를 정리해 놓으셨네요^^
밀리언님 감사합니다 ㅎㅎ
아 그리고 게임에 치명적인 에러가 있습니다. 보팅하고 코인받는거에서
한번만 받고 없애야하는데 계속받을수있는거 같습니다.
그게, 제 댓글에다가도 보팅을 하도록 해 놓아서 그런거 같습니다.^^
페이아웃되기전 댓글에다가도 보팅하도록 프로그램 되어 있어서 포스팅 수가 적고 한번 밖에 포스팅 못하는 것을 커버하려 했기 때문이죠.
아무튼 그런 오류가 있는지 찾아 봐야겠습니다^^
어쨌든지금 수익모델로는 지지를 못받고, 오히려 보팅해 주는 모델이 되어야 할 것 같습니다.
오류지적 감사합니다^^