Options for wireless communication between laptop and 'bot?

Hi all,

I’m planning on building myself a Scout to play with. :slight_smile:

Obviously, I’ll be using an SSC-32U USB Servo Controller, with a view to eventually using an Arduino Mega 2560 for autonomous control.

Now, I would like to be able to do away with any tethering to the 'bot at all, in both the above scenarios.

My laptop has built in Wi-Fi (no surprise there!) but no Bluetooth.

I have read the forums and searched the website for parts but not really got a handle on my options. :frowning:

So, my questions are:

  1. Can I use the built in Wi-Fi on my laptop to talk to a Wi-Fi module attached to my 'bot? If so, how? Which one? If the built in Wi-Fi is not suitable, what dongle / adapter would be?

  2. Would a Bluetooth dongle plugged into the laptop work, with an appropriate Bluetooth module, attached to my 'bot? If so, which one? and how?

  3. To start with, I’m looking at using FlowBotics Studio / SSC-32 Visual Sequencer Software for working on gaits, etc. Can either of the above communication solutions work with these software packages? If so, how?

Apologies for my dim questions, but I’m a mechanical design engineer, not an electronics / comms guru :frowning:

I know I’ve got a massive learning curve ahead of me, but how difficult can it be?.. :astonished:

Any help you can provide will be much appreciated!

Thanks!

Regards,

Ultraweasel

Hey Ultraweasel,

Sounds like a fun project.

Yes, you should be able to, provided you have a WiFi to serial (UART) on your robot / SSC-32U. One of the nice features of the SSC-32U is that it includes a "Bee" type socket, which would allow you to connect a WiFi-based Bee module for wireless use, such as RB-Dfr-741. Please note you can also use any other UART <-> WiFi module, since the SSC-32U has exposed headers for direct TX/RX/GND connections. You can find more modules here.

Yes, that would work great. We actually even have a bundle for the SSC-32U for that purpose: RB-Lyn-851, which is basically a SSC-32U [RB-Lyn-850] bundled with a RB-Dfr-95. Please note this is a Bluetooth 2.0 module, so an appropriate dongle would be the RB-Dfr-309. If you prefer having also compatibility with modern smart devices (such as phones & tablets), you would need a Bluetooth 4.0 BLE module instead. You can find the Bee here and dongle here.

The FlowBotics Studio software and all of the default apps (including the sequencer) all use a COM port as interface. If you decide to use the Bluetooth Bee/dongle pair, then this will produce a COM port on your computer once installed and paired, which can be used directly (just make sure to use a baud rate of 9600, the default of those modules). As for WiFi, while this is transparent on the SSC-32U side, it will not be as trivial to use because a few things are required:

]The WiFi module will need to be configured for your wireless network/:m]
]You would need to use FlowBotics Studio to modify the app to use a WiFi connection instead of a COM port (not trivial / quite advanced, actually)/:m]

If you just want to get started quickly and are new to this, we strongly recommend to use Bluetooth for now.

Since you are starting out in robotics, we recommend that you have a look at this blog series: “How to Make a Robot”. It covers most of the basics and should help you get started with the concepts you are missing knowledge about.

We hope this helps!

Sincerely,

Hi scharette,

Many thanks for your prompt reply!

Your advice, re: Bluetooth V2.0 module for the SSC-32U & laptop dongle seems to be just what I was after! :slight_smile: Thanks!

(Don’t need to connect to ‘modern phones/tablets’, etc - just need the laptop to talk to the 'bot!).

Now, if I maybe so bold as to ask your advice on my (longer term!) future plans…?

As I mentioned in my original post, I would eventually like to use my Arduino Mega 2560 to control the 'bot - basically having the Mega control the gait(s) / movement, whilst the laptop provides directions, under my direction. :astonished:

Would I be correct in my thinking that the Bluetooth module for the SSC-32U would not be useable in the above scenario?

I’ve done a bit of ‘googling’ and my thoughts are:

SSC-32U controlling the servos, serial connection from SSC-32U to Arduino Mega, ‘some Bluetooth module’ connected to the Mega to take direction from my laptop, so the Mega can tell the SSC-32U what to do.

Does this make sense? If it does, do you have any recommendations of an appropriate Bluetooth module that would work with the Mega?

Is it possible / easy to have bi-directional communications over Bluetooth, so the 'bot can communicate it’s status back to my laptop, so I can make decisions on next moves?

Finally, I’ve noticed that some people have used 3 axis accelerometers to improve stability. I like the idea, but when searching, I mainly find lots of Academic papers about biped stability, and not much about the practical applications… Do you know of any ‘simple’ resources that I could peruse? (I think I’m asking the impossible?).

It would appear that Inverse Kinematics come into play with the above…?

I know my future plans are a long way off, but I try to look and think about the bigger picture, that’s why I’m asking now, so I can hopefully take the right approach from the start!

Again, thanks for any advice!

Cheers,

Ultraweasel.

Hi,

Here are answers to your questions & comments:

Indeed, that would not work. What actually happens is that all 3 interfaces of the SSC-32U are tied together (USB, Bee socket and UART), therefore if you use a Bluetooth module, it would skip completely your Mega2560 board/ignore it.

Two main options are possible here:

]Use a RB-Dfr-580 (or similar) with a RB-Dfr-610. The Bluno Mega 2560 is basically a Arduino Mega 2560 with a added Bluetooth 4.0 BLE chip on it. It also allows programming the Mega without needing a USB cable, which is quite fun with robotic platforms since sometimes the port can end up hidden or hard to access./:m]
]Use a regular Arduino Mega 2560 with a separate Bluetooth module. This is where you have to choose whether you want to use a simple module or a shield format. You can find all of our Bluetooth modules here. Since you use a Mega 2560, which has 4 hardware serial port, it may be easier to use a small module, such as the RB-Suf-03. Please note this is a Bluetooth 4.0 BLE module, so you would need the RB-Dfr-610 mentioned above for proper connection with your laptop./:m]

Yes, it is! All of these serial Bluetooth module basically offer the same functionality as a typical, wired UART port, except over the air.

Unfortunately, we do not know of any specific source of information about this. For sure, it is indeed an advanced topic. On a side note, we recently started playing around with the RB-Pol-230, which seems like a good starting module which allows you to have both acceleration and heading (tilt-compensated), all controlled by a library that does all you could need (available in the Arduino IDE’s “Manage Libraries” window).

Yes, most likely. How much you need and how complex it will be really depends on what you are trying to control and how. You can certainly find plenty of examples for Arduino with a quick online search. This tutorial seems like a good starting point.

Sincerely,

Hi scharette,

Once again, thanks for your prompt and enlightening reply!

I think I have a plan:

Current ambition:
Lynxmotion SSC-32U USB Servo Controller, RB-Lyn-850
Bluetooth BLE Link Bee, RB-Dfr-546
USB BLE Link Bluetooth Module, RB-Dfr-610

This should allow me to control the ‘bot from my laptop, using:
FlowBotics Studio (CD), RB-Dsp-05 and Lynxmotion SSC-32 Visual Sequencer Software SEQ-01 (CD), RB-Lyn-147

For gait development, etc. Would that be correct?

Future ambition:
Add a Bluno Arduino Mega 2560 BLE Bluetooth 4.0 Microcontroller, RB-Dfr-580
This should allow me to control the SSC-32U from the Bluno, using TTL serial communications and allow commands from my laptop to the Bluno? And also allow me to download sketches to the Bluno over Bluetooth wirelessly?

The above would appear to fulfil, and then some, my plans for the longer term ? Is that correct?
The accelerometer / stability & IK can wait for another day! I reckon I’ll have enough ‘fun’ getting a grip on the basics! :wink:

I would appreciate your comments on my plans – If you think I’m on the right track, I can start spending, building and learning!

Looking forward to it!

Thanks again for your help! Much appreciated!

Cheers,

Ultraweasel.

The hardware setup (RB-Lyn-850, RB-Dfr-546, RB-Dfr-610) seems good. It also carries the advantage of being compatible with most smart devices (see an example use of Bluetooth here), which is neat for future development. For software, you can certainly use FBS (FlowBotics Studio) and SEQ-01. Please note that SEQ-01 is a legacy software and is on its last leg. Actually, I think there is only a handful of CDs left and that’s it. (no support is available for it anymore). Therefore, I’d recommend not spending too much energy on that one, especially for a new project. We really only keep it active for legacy products/customers who need a new copy.

Yes and yes! :slight_smile: Isn’t it a nice little board? :stuck_out_tongue: It is also Bluetooth 4.0 BLE, so since you’ll be using the RB-Dfr-610, no issues for you!

Indeed, it does seem so. Though, needs can certainly evolve over time as you learn more and attempt more ambitious projects/ideas. No worries though, since the Mega 2560 has plenty of power (and pins!) to add many more devices to it! And worse case, you can always add more microcontroller boards to your project, if needed, and have them communicate over any interface of your choice (SPI, I2C, Wireless*, etc.)!

I’d recommend getting at least an accelerometer/magnetometer, if just for the fact that you can know both the position of your robot and also which direction it is facing (based on the magnetic field of the Earth), which is fun information to have even if you are not trying to balance/stabilize it. Also, if you robot project has any movement capabilities, the tilt-compensated heading can allow you to move in a straight line (or curved, if you like fancy math :slight_smile: ) without needing encoders or other more complex methods of knowing how it is moving exactly, since you’ll know your heading. A small PID or other controller can help with that easily.

Definitely the right setup to get started for now! There are very general “base” components for a robotic project, so it is really just a matter of choosing a wireless technology and microcontroller type and working at it! :slight_smile:
Arduino-based is the way to go for starting a new project if you want to leverage community resources. It is not too complex and has so many examples available that it helps get started quickly!

Good luck!

Sincerely,

*: many options there, such as XBee/ZigBee/LoRa/WiFi/Bluetooth/etc.

Hi scharette,

Thanks for replying, again :slight_smile:

Ok, I reckon I now know what I need. (I know, as you mention, Needs can vary over time - I’m thinking that I’ll have enough to work with for a while that I won’t get sidetracked too much…).

You may not be suprised that I have a couple more questions…

  1. You say that SEQ-01 is approaching EOL?
    Having looked at the manual for Flowbotics Studio, it appears to have a sequencing module. Is this better than the SEQ-01? Would you suggest I don’t bother with the SEQ-01 and concentrate my efforts on using Flowbotics Studio instead?

I do agree that the Bluno Arduino Mega 2560 BLE Bluetooth 4.0 Microcontroller, RB-Dfr-580 appears to be a nice bit of kit! :slight_smile:

  1. You recommend getting at least an accelerometer/magnetometer? You mentioned that you recently started playing around with the RB-Pol-230 module? I assume that it only works with a microcontroller (Bluno, in my case?), not with the SSC-32U / Bluetooth combo?

I assume PID refers to a proportional–integral–derivative controller? Hmm, I know nothing of such things - Would you have a suggestion of an appropriate one to use with the aforementioned RB-Pol-230 module? Would it be straightforward to use? (to be honest, I’ll probably be learning more about programming than I will about robotics! :slight_smile: ).

Oh, one more thing - how many servo extension leads would you recommend for a Scout? I was thinking four would be enough? (With all servos having 180 Deg. travel)?

Thanks again for your help!

Cheers,

Ultraweasel.
robotshop.com/en/lsm303d-3-axis-accelerometer-compass.html

Indeed, it is literally only available currently because we have old stock and we kept it online for customers who need replacements. It is most certainly discontinued and will not receive any more advanced support or troubleshooting. Therefore, I strongly recommend not using it for a new project and instead focusing on FBS or custom software to do your sequencing.

Well, technically, the device works as an I2C slave, so you could in theory use the SSC-32U’s digital inputs and outputs to control a clock and data line with some support components and make it work… OK, no, terrible, awkward idea! :stuck_out_tongue: Just stick to microcontrollers on this one. Anyway, you will most likely want to use one eventually.

Yes, exactly! Well, you’d have to implement the PID, so that’s a new bit of programming! :wink: The idea of any control system (or controller) is to use some input(s) to change an output accordingly. Therefore, in your case, your input could be the tilt-compensated heading and your output could be turning and forward control of the robot.

I’ve never tried this, but it may be of use: playground.arduino.cc/Code/PIDLibrary
You can most certainly find plenty of other Arduino-based examples online with a quick search. The basic idea is quite straightforward. Example for heading-based movement: 1) read input (heading), 2) is it where I want to be? if not, how far am I (error)? 3) move accordingly!

Well, the RB-Hit-29 (HS645MG, the recommended servomotors for this kind of platform) have a cable length of 13", which seems like it would be enough in this case without extenders. If you want to be on the safe side, 2-4 will most likely be enough (shortest length).

Hi scharette,

Thanks for answering yet more of my questions! :slight_smile:

I’ve been reading (a lot!) and thanks to your comments and suggestions, it’s all starting to make some sense!

I must admit, it’s going to be a massive learning curve for me, but everybody needs a hobby, right? :wink:

I now have a parts list, just need to get on with it…

No doubt I’ll be back on the forum when I’ve confused myself and need help! :slight_smile:

I really appreciate you taking the time and effort to guide me through the ‘minefield’ of information out there.

Cheers and Best Wishes,

Ultraweasel.

No problem!

Good luck with your project and feel free to create new topics as needed.

Sincerely,