packet loss

Hi,
I experimented with router<-->arduino but suffer enough from pocket loss, is there any recommendation of implementation so that to minimize them, or just get rid of?)

For example, from commands I send from keyboard over wifi to the router, to move arduino->L293->motors, some are lost and make false behaviors.

Would appreciate suggestions,

Thanks

Moderator edit: Thread title corrected.

Do you have a bit more detail? Which hardware do you use, what software is installed (on the Arduino), etc.

My WiFi solution does not loose any packet, so it's not a general problem but one of your specific installation.

Hi,
Thank you for response, my hardware:
bot: router (OpenWRT) <--> ethernet (enc28j60) <--> Arduino

A notebook is added to the wifi network of the router, then a wii bluetooth joystick pairs with notebook, sending commands to a java-program on the notebook which receives and sends commands to a C++ program on the router via socket, then from there the command is being sent to Arduino.

I actually did this long ago (a year at least) and had this problem of pocket losing, i.e. sometimes I'm pressing buttons of the joystick and the bot is not moving, or I'm trying to stop it and it goes on to hit head to wall.

Now I'm investigating to setup a new implementation using ROSjava (Android), router (spec. for security) and Arduino, where connections on the bot are all on ethernet EJ45 and the bot is teleoperated via wifi. I don't want to have packet losing this time! I'm going to send this one outdoor to meet people, don't want to heart anyone!

I passed the hello world tutorial of ROS between Arduino and Ubuntu (publisher, subscriber, hello world printing) and now opening way toward ROSjava, but first decided to write here to know why I was losing packets (if I'm referring to the problem with the right name), and implement the new design so that not to repeat mistakes.

Will appreciate greatly your suggestions,

Does this mean you loose packets from the OpenWRT router to the ENC28J60 ethernet shield/breakout on the Arduino? If it's on the WiFi part, it's not Arduino related.

BTW, following you description of the path from the joystick to the bot there are many, many possibilities for a lost command. As far as I understand you even don't know if you're loosing packets on the network or if just the command get lost somewhere on his way to the bot. Correct?

You haven't mentioned what type of network path you're using, but I guess you're probably using a TCP/IP stream. In that case it is pretty unlikely that you are losing commands due to link level failures since TCP will detect that and retry as necessary. And if you aren't already using TCP, I suggest you do so since that will address this issue.

Thank you, you made my mind clear, I shan't state a fault of wifi when I still did not trace the path.

I implemented over TCP/IP. Based on your kind information I will simply put away my own software and implement over ROS and TCP/IP, then if I'd again get pocket loss, I will first trace and if not solve it ask help back here.

Thank you again, :slight_smile: