Home        Store        Learn        Blog

Rc override and robot_localization

I would appreciate help in the following matters:
1- I wanted to install robot_localization on the raspberry pi so I can use odometry information, however the catkin_ws wouldn’t build at all and it just get stuck. Therefore I couldn’t use any odometry data from my ROV

2- I’m facing some difficulty trying to publish to rc/override as I’m totally new to this thing, I’ve seen the links that some have shared regarding channels as follows:
channel_pitch = RC_Channels::rc_channel(0);
channel_roll = RC_Channels::rc_channel(1);
channel_throttle = RC_Channels::rc_channel(2);
channel_yaw = RC_Channels::rc_channel(3);
channel_forward = RC_Channels::rc_channel(4);
channel_lateral = RC_Channels::rc_channel(5);
But I don’t know how and what to put in these channels. Like if I want to go forward or backward or change yaw or translate horizontally how should I do that.

Im using blue rov 2 with raspberry pi and ubunut mate 16
THANK YOU :slight_smile:

Are you building catkin in the ROV or in your desktop ? I would highly recommend to create a ROS server in your desktop and a ROS node in the ROV to perform such tests.

The user input via RC are pitch, roll, throttle, yaw, forward and lateral respectively.
If you are talking about mavros rc override, you should do:

pub = Pubs()
pub.subscribe_topic('/mavros/rc/override', mavros_msgs.msg.OverrideRCIn)

                [pitch, roll, throttle, yaw, forward, lateral, ...])

If you are talking about pymavlink, you should check our examples.

If you want to understand more about joystick inputs, check our documentation.

Thank you so much for your reply.
I didnt understand you mean I can build my catkin_ws on the ROV remotely from another computer by a server?
if yes can you guide me to a tutorial ?

For RC:
so for example you are saying if I want to go forward I should publish ```
65535 to all channels and 1500 to the forward channel?
If I want to slide right and left what should I publish?
backward I should do all 65535 and 1500 to where ?
Im sorry I dont know the basics of this

I’m pointing that you should build catkin in your desktop and use a ROS server on it, I would recommend to read more about ROS nodes.

The PWM value works in a range of 1100-1900 where 1500 is the neutral point.
So, if you want to go forward, you need to send a value bigger than 1500.

Oooh I see but the problem is, I want to use my ROV without any tether so thats why I need to build it there. Are you saying its hard to have robot_localization on the ROV itself?


I’m pointing that usually the development is done in the groundstation computer running a ROS server and a ROS node in the vehicle, this helps with debugging and tests.

If you are aiming to build and use ROS in the raspberry, check the official ROS documentation.