Hi folks,
I have a 4WD/4WS mobile robot, which I can control it through rosserial/arduino (open loop control). I have setup the robot in Gazebo and I'm able to use ros controllers to control each joint with position_joint_controller and velocity_joint_controller. As we know setting up and applying ros control is easy for simulation in Gazebo using URDF files which make it easy for us to use ros control just by adding plugins and transmission tags, but when it's coming to real hardware it makes a lot of confusions.
I followed Adolfo Rodriguez's RosCon 2014 lecture and it explains everything very well and of course very brief.
Q1) How can I read from and write to my hardware? (Adolfo's lecture page 43) Do you have a good example for rosserial? What do I need to have to define each of my actuators as a joint? (it can be easily done by URDF files for Gazebo usuing transmission tags).
I tried to write an interface node to get cmd_vel and publish it to my servos but what I want is to use ros_control. Sorry if my question is not that clear but if you please help me with some examples if you have.
-Thanks!
Originally posted by Mos on ROS Answers with karma: 28 on 2015-07-28
Post score: 0
Original comments
Comment by Adolfo Rodriguez T on 2015-08-06:
Can you already read/write raw data from your arduino device?.
Comment by Mos on 2015-08-06:
I actually have a node, subscribing to cmd_vel from ROS and encoder ticks from ardunio usuing rosserial. It also publishes RPM/Speed to ROS and PWM to arduino to drive the dc motors.