Lynxmotion SES V2 Hexapod Robot

Brainstorming and exchanging ideas is always appreciated. It’s also good to see experts in the field still able to empathize with beginners to robotics too. A large percentage of users see cool videos of legged robots online and purchase it, expecting an easy way to control it and show it off to others. They tend not to ask for nor want any understanding of what goes into it and see it as a cool “advanced toy”. The cooler the robot’s actions, the happier they are, like being able to press a “forward” button and the robot can automatically walk over and adapt to complex terrain. The more complex the setup and configuration process, the more issues they will encounter. The level of expertise and/or patience tends to “max out” beyond installing a compiler and uploading the appropriate code.

The second customer type includes more advanced users who want to go well beyond the sample code and include advanced features (some as hobby, most as educational and some for research). For a humanoid, this might include challenges like Robocup, or more “social” interactions, whereas for a multi-legged robot, terrain adaptation combined with semi-autonomous behavior seems to be where that technology is going. Colin is looking into Crocoddyl for ROS for example. There have not been many who are more “in-between” these two types, with the exception (if you can consider it as such), those who want to use the electronics and code to help them design their own robot.

As such, you are correct that there is a market for both options. The question (rhetorical ideally) then becomes what more functionality would the Teensy 4.0 + smart servo approach offer beyond the SSC-32U + RC servo? What can we aim to accomplish? Maintaining code for a system requiring both an SBC like the RPi4 and a separate controller like the Teensy 4.0 might be problematic for more long-term maintenance.

Unfortunately RobotShop does not yet have the Teensy 4.0 in stock yet nor the Arduino Pro boards, though it’s incredibly important to plan for the future rather than restricting to a current selection of products.

As for the first customer group, this could be make as simple as possible. An Arduino is pretty simple to get it up and running. As for the Pi, it could be as simple as copying an existing image on an SD-card and have a pre-installed OS including all needed logic to get the robot up and running (or walking, let’s start simple ;))

The second customer type will be affected more by the choice of hardware platform. An Arduino is basically plug and play. The code is uploaded directly into the hardware and therefore he only needs to worry about the code itself. As for the Pi, the customer will need to know bits about linux, drivers, compiling, ROS, etc. It is a bigger challenge to change something, but the possibilities/capabilities differ to. Off course, this customer can start with the pre-installed OS as well. But I see a more in depth manual to guide him/her to the code.

As for restrictions, switching between Arduino boards or Linux based boards will not be an issue. But switching from Arduino to the Pi and back will create some additional work as these use a completely different platform. So I think we’re not limiting us to certain hardware, only to a certain platform (Arduino/Linux)

Personally I would like to see the capabilities of the smart servos in combination with the Pi. But Arduino is a great platform as well so I will have fun anyway :wink:

2 Likes

Again I can and will go several different ways. I will probably for sure build a version of the Phoenix Arduino code base to work with these servos, as first off a simple way for me to get a feeling for these servos…
And in theory should not be too hard.

The code is divided up into parts: The main stuff, Servo Driver, Input Driver…

The main code tells the servo driver to update the servos and if I remember correctly says to to this degree in 10ths and get there in time T… The driver itself converts the degrees into servo units and sends this to the servos. For most servos it does the interpolation of how far to move in each servo time unit… For smart ones it had some stuff in to say let the servo do it… I tried earlier with Dynamixel AX12 servos which internal interpolation did not work well enough, I keep meaning to go back and try that withe the newer XL430-W250 servos… Have hexapod sitting on my desk now, begging for attention :slight_smile: So should not be hard to adapt as for example I do have an SSC-32 driver as well…

But longer term I personally see more than 2 types of users.

a) Real basic people who simply have fun… Personally I think Arduino is the way to go… It is far easier than getting into Linux and the like…

Yes you can do RPI, with some basic prebuilt image… Example we had one for Trossen Humonoid HROS1, but it quickly became out of date. So you then needed to learn all of the other things, like probably headless setup: and things like: sudo apt-get update … How to get updated sources, git? Probably make files…

b) The ones who want ROS or the like - RPI plus is great for this, although as I mentioned most of us who did much with this actually went to other Linux setups… Hopefully RPI4 and ROS2 works well. Earlier with ROS many things only worked with X86 Linux and you had to do a multi setup configurations.

c) But there is some other categories or setups that others have gone to, which also have merit. For example the RPI4 is probably still pretty limited on handling data from 3D cameras. Whereas if you built using an NVidea Jetson or the like:
https://www.digikey.com/products/en?mpart=102110268&v=1597
You have a lot more horsepower. Note: I have not personally played with any of these but I know others who have.

d) Setups for MechWar (I am more talking Quads and Bipeds here) - but a reasonable percentage of the people up on Trossen who are totally focused on building their Quads to be fast, maneuverable. good sensors, got aim… I have personally not done any of this (as I am probably a little old for this). But again this may be a good market segment to look at.

Again I know I am probably more of an oddball, but I personally find it more fun to tinker than I do for the big things like navigation, room mapping… And for example I have had a few bipeds (disregard Robonova), I had one or more Brats and I had an HROS1 setup to use ROS… Which one did I have the most fun with? Maybe the BRAT…

The main fun I had with HROS1 was the tinkering that a few of us did, with things like 3d Printing of hands, where we built custom setups with Neopixels to light up the hand, that hooked into the Servo chain, and so you could logically tell it which color to display by setting its logical servo parameter… May try building a version that plugs into your Servo chain:


That one is with Teensy, we also had some that used a Trinket, which was a little easier as it’s VR says can handle up to 16v input and runs at +5v so was easy to run Neopixel… Also had FSR version to play with sensing when the foot hit the ground…

But sorry for digressing.

When running on modern Cortex-M hardware! :slight_smile: Don’t get me wrong, I love AVRs too, but the older ATmega chips are way too limited compared to even the cheapest Cortex-M0… if just for the added interrupt handling and crossbar switches for pin assignments!

1 Like

Hopefully RPI4 and ROS2 works well. Earlier with ROS many things only worked with X86 Linux and you had to do a multi setup configurations.

I can confirm ROS2 works as well on RPi4 as my Desktop ROS2. ROS2 is a complete rewrite, which partially sucks because it deprecated a lot of existing packaqes in the eco-system, but it had to be done to get rid of the stank in ROS1. No argument here, ROS1 stank but ROS2 is nothing like it’s brother. ROS2 is much better for small boards like RPi and for walking robots. ROS2 also has microROS for small micros like Arduino so any work you guys do on Teensy/ardu ino/etc can be bridged to ROS2 later which can provide a pathway for customers starting on Arduino and moving toward ROS. I have a rudimentary React web page controlling my bot using the ROS2 node.js bridge, so customers could technically develop their robot code in javascript but for performance reasons I’d say limited to the high level stuff.

For now I am using the RPi4 to control the servos and IMU and higher level algorithms are running on my desktop ROS. This is just much easier for development and I’d like to keep things simple until I get it walking and get some benchmarks but there may be merit in offloading the low-level servo loop to a small micro as I start pushing higher-level control algos to the RPi. At that point, I’d also like to consider the walking algorithm implemented inside a coprocessor, which might just be a powerful ARM micro and possibly some neural net fabric like the MAiX Sipeed devices, or Movidius device. I also have a Jetson dev board like kurte mentioned which would be great but they aren’t small either. :slight_smile:

To @scharette’s point, yeah I think the 8-bit AVRs have got to be expired by now :slight_smile: (Great, now I have some 8bit synth music playing in my head)

1 Like

It is great that they had the courage to do the required step fully. It is never fun to break backward compatibility but it was so important here to do so.

That sounds cool!

Great to know I’m not the only one! :stuck_out_tongue:

Sounds like ROS2 has helped improve things.

As I mentioned I think my first steps would be to get something working on an Arduino setup. And I also don’t mean AVR8 based… There are several ARM setups that would work great for this. I like working with Teensy and that will be my first choice. But there are many others as well, maybe including some from Adafruit probably others by Arduino and Sparkfun…

As for the next steps, I believe that RPI4 is a nice stepping stone. Hopefully we can partition the stuff such that potentially a lot of the work will still be done by the Arduino machine. As mentioned ROS2 has setups for that. Although I am somewhat partial to Odroids or UPs… But maybe RPI4 with SSD setup might work well. Wish they had a native setup for this. I think you still need to boot off of SD card.

As for that being powerful enough for full ROS2? it will be interesting to see. As I mentioned earlier the RPI2 had issues with things like Bandwidth with USB, Cameras, networking… Will be interesting to see how well the newer RPI4’s do. Example back then if you had something like a PrimeSense 3d Camera, that output 3 different images… At the time you had to limit the resolution to get back a somewhat reasonable frame rate. But again hopefully that has improved, likewise the sensors like the Realssense have probably probably improved as well.

What will be interesting to see is how well has ROS2 improved over ROS classic, especially for non-X86 for things things like simulations, Image processing, things like Gazebo (SP), or RVIZ? … Before it more or less did not work locally on the robot but instead needed to run on remote Linux PC…

But sometimes you need to just start doing it and see! later on if necessary one can always go to higher end linux setup, such as NUC or Odroid, or.NVIDIA or???

But again need to walk before worrying about sprinting :smiley:

1 Like

Looks like we’re gearing up for the shipments which will be comprised of:

Not sure which LiPo battery will work best - do each of you have a 3S LiPo pack with XT60 connector with good discharge current?
Regarding additional electronics, we can look at sending:

Not sure if the LSS-2IO will be useful or necessary?
Anything else? You’d all be OK with your own micro SD cards? Regarding an Arduino or Teensy, open to ideas.

@kurte @xan @zenta @colin You’re all good to go soon and can invest the time? This is quite a bit of nice hardware :wink:

@cbenson - I should have some time to play. I do have a few other projects going on, which also will take some time as well as it is is almost spring, so will be spending some time working on yard…

I am not sure on the state of my Lipo batteries. I believe all of mine (at least a couple of years old) have connectors like:
IMG_0147-(002)

I probably have SDCards around here. WIll be interesting to see if it will work with SSD… I believe you still have to boot off of SD with RPI4.

As I mentioned I may try with T3.x or T4 to get things moving. Should also work with other Arduino… So if there are others you wish for me to try, let me know.

Looks like it should keep me busy for awhile :smiley:

Deans connectors. We can likely send this out:


We also have a pack of three 18650 cells (11.1V, 3500mAh) but it might not be able to provide the necessary discharge rate.

I am guessing the 3000mah would work. Personally I run most of my Robots stuff mainly by wall wart.

I was going look up the last one I received from Trossen, but it looks like they no longer carry any Lipo Batteries. Unless maybe in the kit itself.
The PhantomX shows: 11.1v 3S 4500mAh LiPo Battery
But link no longer works…

And I have used some smaller ones from other kits, in the range of 1800-2100… But as you mentioned it is probably more about the C number

Sorry, I know that the answer to this is probably obvious, and my guess is NO.

But is the LSS Adapter board(https://www.robotshop.com/en/lynxmotion-lss-adapter-board.html) setup to work properly with Arduino 3.3v boards?

Examples may be like Arduino Zero, or Arduino Due, Again I believe both of these Arduino board like the Teensy 4 (or 3.6) run at 3.3v and are NOT tolerant to 5v on IO pins. Again wondering if your shield detects this and for example does level conversion into and out of the servos?
My guess is that the level converters is only on the pins directly connected to the XBees?

The reason I ask this is in the past I have made Teensy carrier boards, that bring out the pins to an Arduino shield. In fact Sparkfun sells a pretty simple (limited) one, for the T3.2… Have not tried it with T4.

Hi @kurte

Unfortunately and as you already guessed, no. The Tx/Rx pins coming from an Arduino 3.3V Boards with the LSS Adapter connected as a shield are not level-shifted to 5V. With the switch in “Arduino” position, the LSS Adapter acts only as a pass-through and it provides a direct connection from the Arduino Tx/Rx pins to the LSS Rx/Tx.
As you said, the only option to use 3.3V boards with the LSS Adapter is to go through the XBee headers with the switch in “XBee” position. Basically, a Teensy carrier board with XBee form factor would work but didn’t find any when I looked online.

Thanks, that is what I figured.

For the heck of it, I just hacked up one of my own test board designs to hopefully add two of these servo connectors. Note still have bioloid ones as well… There are probably going to be issues with it, but I sort of built in two level shifters like the Sparkfun board bss138… Ordered a set of 3 from OSHPark… Here is a 3d rendering from diptrace. This can in theory be used by most Teensy, although some features won’t work with smaller versions like T3.2… With T4, I have a similar board with T4 in it using a castellated add on board that a PJRC forum member set up to make the T4 to have the same form factor as a T3.6(5), (although not same USB…). But hopefully should be pretty close for when PJRC releases a T4.1

But just doing this for my own fun!

2 Likes

Sorry for my very late response. Personally I prefer the Teensy’s. But I’m willing to try out RPi too, most for learning. I might be able to contribute more on the Teensy side though. Some years ago I started playing with my own gait algorithm/engine that might be easier to use on this hexapod using a Teensy to start with.

Time is certainly my biggest issue here. I’ve told my wife I probably need to spend some hours in my workshop now and then…
She is pretty occupied her self working full time and studying for a degree of master. So I need to do a lot of household stuff.
I do have some parts already though, but it’s probably easier if we all go for the same configuration. I do like the look of your V2 brackets :+1:.
I’ve several 3S LiPo’s of different sizes, also similar to the one Kurt have, also Deans T-plug. Making a XT-60 to Deans T adapter isn’t hard though (or just buy one).
When it comes to electronics, @kurte boards are always interesting, so I might join in and order one myself one time. I’ve several T4.0’s and a 3.6 + 3.5. The next question is how to operate them. Personally I prefer custom made remotes with 3-axis gimbals (XBee radio).

1 Like

We do have plenty of those. Maybe @cbenson can include one in the kits?

Oh! :slight_smile:
@dialfonzo

@kurte We’re about a week away before we can ship the robots / parts, and we only have the Teensy 4.0 in stock (which seems noticeably better than the 3.X). We have the option to create and test prototypes internally - would you be interested in designing a board which might end up in production? In the meantime, not sure if @cmackenzie @xan @zenta have the Teensy you designed for. Open to ideas.

I have a Teensy 4 here already. :slight_smile:

1 Like