Good evening,
I am having a difficult time with a project I am working on and was wondering if you could help me.
I have recently purchased a robot through RobotShop, and it has arrived. It came with a Bluetooth module.
For my project, I have a system of three devices: two laptops and my robot. I want to have my robot run independently and have my laptop without FlowBotics to transmit data to my robot through Python. Essentially, I want to download my FlowBotics code onto the robot and have it wait for something to be transceived to it from my other computer that is running Python. When my Python running computer transmits something (for example, “move forward”), I want my robot to move forward. When the Python running computer says stop, I want the robot to stop and wait for another signal to be transmitted. How do I do this?
Can I download code to a robot and have it run independently of a computer with FlowBotics? Can you transmit data to the robot through Python and have the robot respond.
Yes, we can certainly offer some help. That being said, it would be easier if you told us which kit you purchased, either by letting us know the RB code (RB-xxx-nnn) of your kit or giving us a URL to the product page.
To do this, the robot would need a programmable controller, such as an Arduino-compatible board. Assuming you have a kit with a SSC-32U (since you mention FlowBotics Studio), this cannot be done directly since the SSC-32U board is only a servomotor controller. It receives command through its serial port (either USB, Bee socket or direct TTL UART (TX/RX/GND pins)). It cannot be programmed to do anything on its own.
Yes, you can. There are many ways to do this. The simplest is to have the Python-running laptop be connected to the SSC-32U somehow (USB, wireless through Bee socket, etc.) and send commands to the SSC-32U directly.
This cannot be done, as FlowBotics Studio can only run on Windows-based platforms. If your robot includes a platform that runs Windows, then you could do this.
No, this cannot be done (for the various reasons mentioned above). We assume by computer you mean a personal computer (such as a desktop, laptop, etc.). To have a robot accomplish anything, you will still need some sort of processing unit / board.
Yes. Also, as mentioned above, this will require the robot to have some sort of controller or to connect to the SSC-32U directly through some means with the Python-running computer.
If your robot is FlowBotics compatible, it means it is using the SSC-32U. Therefore, it cannot be used in the Arduino IDE directly since the SSC-32U servomotor controller is not an Arduino-compatible board. That being said, you can add to your robot any Arduino-compatible board (like what is done in the Lynxmotion hexapods) to add Arduino programming to the robot. In this case, the Arduino-compatible board would then be connected to the SSC-32U using a serial interface (TTL UART) that is available. The SSC-32U manual (page 21) has an example of wiring a BotBoarduino RB-Lyn-363] with a SSC-32U through a serial port (can be a hardware serial port or software serial port).
As mentioned above, we cannot know this without having more details about which platform / kit you are using.
We hope this helps.
Sincerely,
P.-S.: Here are two examples in Python controlling a Lynxmotion robotic arm (AL5D) through its SSC-32U, tested on a Raspberry Pi.
Does that clarify anything for you? Do any of your responses change?
Also, does the method you derailed involve programming my robot through FlowBotics?
Thank you for the link. This kit does use the SSC-32 (as assumed in the previous responses) and a Bluetooth module, which means it does not include a programmable controller.
Therefore, it always needs a link to FlowBotics Studio to be controlled.
Alternatively, you can write your own software (ex: in Python) to perform the gaits and such and send the commands to the robot over the Bluetooth connection.
Yes, you can achieve remote control in Python using only the current hardware that you have.
You would need to connect with your “Python laptop” to the Bluetooth module of the SSC-32. Once this is done, you can send commands to it directly to control the servomotor channels.
You can find out more about the SSC-32 commands here.
Sorry for not getting back sooner, it seems I was not registered to be notified about posts on this topic! My bad!
For connecting with Bluetooth, in general, you need to establish a pairing between the module attached to the computer (usually a built-in module or a USB dongle) and the one on the SSC-32U (typically in a XBee format) or SSC-32 (a UART to Bluetooth module, connect tot he TX/RN/GND pins, needs to be 5 V DC tolerant).
A for Python, you will most likely want to use the package manager for your Python installation to obtain a fresh copy of the pySerial library (installation information/steps here).