New video posted with new Trajectory Planning working! This worked out awesome! Also demoing calculation of convex hull and support polygons for limb/feet contacts. Next up…make those trajectories multi-point and add end-effector manipulators to RViz for creating the planning steps.
Since it is related to the topic, I would like to share with you my work on my robot dog: https://community.robotshop.com/forum/t/mechdog-robot-dog-based-on-arduino-and-lss/65705
Impressive! Very much appreciate that you’re making it more universal for other types of robots.
Excellent! Curious to know how long it takes you to assemble it (including basic wiring).
Is there a reason for why the body panels are missing in the package?
I can make my own, but I thought it was meant we should all share the same hardware at first.
That seems to be an oversight on our part. Creating the order now so it gets to you quickly. Apologies.
I was wondering as mine arrived in town yesterday, but picked up early from PMB (~6AM) and did the first pass at quarantining the parts… And wondered why yesterday there was another logical order…
Looks like time to assemble one of the Teensy boards.
I’ve got my package yesterday! Love the premium boxes for the servos!
After receiving I started spreading out the components and wondered what happened with the body and controller board. Seems that I missed out on some messages here…
By what I could inspect now is that I like the improvements done on the servos and brackets. The ball bearing on the servo, a huge amount of mounting holes, bus communication: Love it! And the cable clips are a brilliant idea! Sorry for my excitement. I was not able to do anything robotic related so I’m pretty excited! Can’t wait to start
Anyway, @zenta, @kurte, Did you decide on what board to use? I think it will be beneficial if we can share code so I will go with whatever you have.
Hi @xan and @zenta (and others) - I will hopefully have a chance to play some with the servos in the next day or two… Giving them some time to air out… Sorry I know I am being paranoid, but…
I am planning on over time hopefully work with the hexapod a couple of different ways electronically.
For the first round, I am probably going to use a Teensy. Probably first round I will do with a Teensy 4.1… Which is in beta now, but by the beta rules, I can not show any pictures… More details about it up on PJRC forum thread (https://forum.pjrc.com/threads/60532-Teensy-4-1-Beta-Test)
I have two boards sitting here that I did a quick and dirty design for, that I need to get going on soldering them up… Although at first I could simply use any T4.x and use the adapter board, to do the conversion to 5v for Serial ports.
The simpler version looks sort of like:
I believe almost all Teensy boards would work with this one, I would need to double check, but would probably use either T3.6 or T4.1 (or T4 with a castellated solder on board FRDM4236 which gives the T4 the same footprint as T3.6 or T4.1…
But with T4.1 or 3.6 the 5 pins can be hooked up for USB Host code… Where I probably will use a PS3 controller to start off with. I like PS4s better but mine appears to have a dead battery. Can use several different ones by plugging BT into USB…
Edit: If I remember correctly the yellow pins are setup with Arduino shield spacing so one could plug in something like an XBee shield.
Again is like the previous one mentioned, but was adapted from a board that supports Robotis Dynamixel Servos. A sort of nice feature of this one is that I have IO pins in place to allow me to plug in an Adafruit ST7735 or ST7789 display right below the speaker and would probably use the small ST7789 display (I have a couple of them)…
Longer term, will probably want to try moving to ROS (probably ROS2). Probably use RPI4. Maybe use UP board or Odroid ?
Or we could all have some fun and try one of the NVIDIA boards like:
Although I don’t know if they are supported by ROS, but might be great for any image processing one might want to do.
But first I should work on walking before trying to run!
Can you detail a bit about using the PS3 or PS4 controller? Thanks.
I’ll take a wild guess and say it has something to do with either:
- Using the PS3 controller as a wired USB device to the Teensy (acting as a USB host)
- Using the PS3/PS4 controller through Bluetooth by connecting a Bluetooth dongle by USB to the Teensy (again a USB host)
The Teensy 3.6 as well as the T4 and soon to be T4.1 processors have two USB controllers built into them. The first one does like the other T3x boards and communicates with the host. Note: The T4.x can communicate over USB at much higher USB 2 High speed than other Teensy boards up to 480Mbits instead of Full Speed (12Mbs).
Now the 2nd USB port
The T3.6 and T4.1 have a 5 pin connection setup, that can use a PC USB expansion connector to hook up a USB Host port. The T4 only has two bottom SMT pads where you can build your own. But it lacks a USB Current limiter chip that the others have, so if your wanting to support dynamic insertions of devices could be issues or your board should have one of these limiting chips (TPS055A)… Note: some of my boards I have experimented with are setup to be able to add in this chip and supporting stuff, or not…
Now assuming you have the hardware setup, like both of my boards above have USB Host connector. We have a library for the Teensy called USBHost_t36 which adds in USB Host support to your sketch. This library is installed with the Teensyduino install.
We don’t have support for every USB object, but we have support for a lot of HID based devices like (keyboards, Mice, Joy sticks. Likewise support of several of the USB to serial devices, Hubs, … One the later things we added was some support for Bluetooth. This included the support for a few BT keyboards, Mice and Joysticks including PS3 and PS4. So this is what I was going to maybe start from. There is an example sketch that is part of this library which you can find up at:
Note: I have a version of this library that when I was playing with it, I had the ability for more than one Bluetooth device. One of these days I will get back to it and get it integrated into the Paul’s master branch. One of the last things I was trying back then to get working was Two PS3 like controllers at same time. In particular a PS3 Move controller with a PS3 Motion controller. So you can have one in each hand. Don’t remember if I was able to get both to work or not.
Forgot to mention a few links to the USB Host support on T3.6/T4.x
https://forum.pjrc.com/threads/49358-T3-6-USB-Host-Bluetooth
Hi,
Is it recommended to update the firmware on all servos? I noticed they shipped with v367 and v368 are the recommended one. I assume it doesn’t matter much. But I thought it was ok to do when performing centering and id settings.
If I recall correct the pins are not compatible with the old beta servos. I have one of kurts old breakoutboards with Teensy 3.1 that worked with the beta. Now I might just connect the Teensy to the LSS adapter board. I’ve not had time to assemble the legs yet. I’m sure a bit rusty on everything here. I believe both Teensy 3.6 and 4.0 (the boards I have) are 3.3v only. And I assume D8 and D9 on the LSS adapter board is 5v only?
@kurte your Teensy board look nice, let us know how it goes after you’ve managed to solder one
Good to hear from you @Xan , yeah, the hardware sure looks nice. I also love the built in nuts and also the possibility to add external gears directly on the servo. I’m also a bit curious about the tiny cable holders with magnets. I assume the magnets are for holding body covers/shields, or?
Morning @zenta,
Some reason it did an OK while I was typing… Probably some glitch with my keyboard.
Until one has a T3.x or T4.x board to communicate with the LSS servos, you should be able to use one of the Sparkfun or Adafruit or similar TTL level converter boards. I started soldering one of my boards yesterday. May have a few missing pieces I need to order to do correctly but should be able to get enough of it in one piece to try to talk to the servos. The board simply has the same BSS… TTL level converter hook up like the Sparkfun board.
Still more soldering to go, and soon hopefully test some stuff out!
Indeed, we recommend to update all the servos to v368. We have also updated the Wiki page of the LSS Communication Protocol to add new commands. This new command in particular might be useful when the trapezoidal motion profile is disabled (in EM0 mode). It allows to change a filter position count value to obtain better motion when the motion profile is OFF.
Correct, the LSS Beta pinout is different and are not compatible with the current LSS pinout, therefore, attention should be given to avoid mixing LSS Beta servos/boards with the current.
Yes, D8 and D9 pins on the LSS Adapter are 5V only. As @kurte has suggested, a TTL level converter board can be used or you can connect your Teensy Tx/Rx/GND pins to the XBee Tx/Rx/GND headers on the LSS Adapter to use the level converter circuit that converts the XBee 3.3V serial lines.
Thanks @bdaouas and @kurte , I might have to get a TTL level converter. I was sure I had one laying around but couldn’t find it. I might just use the level converter on the XBee section of the LSS adapter board in XBee mode.
A Q about SW1 on the LSS adapter board. If set to Arduino mode the D0 and D1 are connected to the LSS TX/RX, but where are D8 and D9 connected in this mode? To the XBee RX/TX or just floating?
@zenta @bdaouas @cbenson and others… Looks like I screwed up my board slightly. That is when I did my component for the LSS servos looks like I swapped RX and TX, which I believe I confirmed by ringing the signals through your adapter board.
Soon I will update the board and order new ones. But first will try more of it to see how many other things I screwed up.
The Good news is I started with the simpler board (both are screwed up). and this one is setup to have Arduino headers. And with this I put in Level converters for pins 0, 1, so can simply plug your board into it and use its hardware to connect up the servos.
The one part I know I am missing is the DC/DC converters from Pololu. I thought I ordered but went to their website today and did not complete the order. So did that and they have shipped. I can still test without them as I will use Wallwart for power and +5v from USB.
@zenta - One thing I did with this setup was to also have two additional level converters that go out to pins 8 and 9, Which I believe are the XBee connections and I have solder jumpers to two different sets of pins to go to these. For this setup will use the ones that map to a T4 Hardware Serial port…
Hopefully will work. Then you have option to use XBEE to talk to it.
More later.
The D8 pin on the LSS Adapter is hard wired to the level converter’s 5V side of XBee Rx and D9 to the level converter’s 5V side of XBee Tx. It is intended to provide the possibility to use the Arduino software serial thus allowing an Arduino Board to communicate with both LSS and a Bee module if needed when the Switch is on Arduino position.