Author Topic: My Advanced Realistic Humanoid Robots Project  (Read 67099 times)

0 Members and 1 Guest are viewing this topic.

Offline Andy Chee

  • Super Contributor
  • ***
  • Posts: 1363
  • Country: au
Re: My Advanced Realistic Humanoid Robots Project
« Reply #1100 on: November 18, 2024, 08:29:28 am »

A PC uses interrupts in its operation.  You are using a PC.  Therefore you are using interrupts.
I never said nobody should use a device whose trash programmers used interrupts.  What I did say was nobody should use interrupts in their code when they are programming.
As I said, you're a hypocrite.
 

Offline artbyrobotTopic starter

  • Frequent Contributor
  • **
  • !
  • Posts: 485
  • Country: us
    • www.artbyrobot.com
Re: My Advanced Realistic Humanoid Robots Project
« Reply #1101 on: November 18, 2024, 08:45:26 am »

As I said, you're a hypocrite.

 :palm:  can someone else explain why he's in total error?  He doesn't seem able to reason logically

Lets see him prove I said not to use any products whose devs used interrupts.  That should be funny.  (Hint:  you won't find it I never said anything of the sort)
« Last Edit: November 18, 2024, 08:52:10 am by artbyrobot »
Robots Project website:  http://www.artbyrobot.com
Full humanoid robot building playlist:  https://www.youtube.com/playlist?list=PLhd7_i6zzT5-MbwGz2gMv6RJy5FIW_lfn
 

Online PlainName

  • Super Contributor
  • ***
  • Posts: 7464
  • Country: va
Re: My Advanced Realistic Humanoid Robots Project
« Reply #1102 on: November 18, 2024, 08:55:00 am »
Just quickly explain why interrupts are bad, please. Or point to the post in the previous thread - I can't find where you explained the reason for them being a bad thing, and I would like to know why you think they are.
 

Offline artbyrobotTopic starter

  • Frequent Contributor
  • **
  • !
  • Posts: 485
  • Country: us
    • www.artbyrobot.com
Re: My Advanced Realistic Humanoid Robots Project
« Reply #1103 on: November 18, 2024, 09:01:00 am »
Just quickly explain why interrupts are bad, please. Or point to the post in the previous thread - I can't find where you explained the reason for them being a bad thing, and I would like to know why you think they are.

Here was the message agreeing with me which shut down the haters on this subject:  https://www.eevblog.com/forum/projects/my-advanced-realistic-humanoid-robots-project/msg5667751/?topicseen#msg5667751
Robots Project website:  http://www.artbyrobot.com
Full humanoid robot building playlist:  https://www.youtube.com/playlist?list=PLhd7_i6zzT5-MbwGz2gMv6RJy5FIW_lfn
 

Offline artbyrobotTopic starter

  • Frequent Contributor
  • **
  • !
  • Posts: 485
  • Country: us
    • www.artbyrobot.com
Re: My Advanced Realistic Humanoid Robots Project
« Reply #1104 on: November 18, 2024, 09:06:28 am »
Here's a better image of the grooved outer race with more refinement. To refine it I cut away excess glue with exacto knife and then sanded it with a nail file a bit to smooth it out.

Robots Project website:  http://www.artbyrobot.com
Full humanoid robot building playlist:  https://www.youtube.com/playlist?list=PLhd7_i6zzT5-MbwGz2gMv6RJy5FIW_lfn
 

Online PlainName

  • Super Contributor
  • ***
  • Posts: 7464
  • Country: va
Re: My Advanced Realistic Humanoid Robots Project
« Reply #1105 on: November 18, 2024, 09:23:29 am »
Just quickly explain why interrupts are bad, please. Or point to the post in the previous thread - I can't find where you explained the reason for them being a bad thing, and I would like to know why you think they are.

Here was the message agreeing with me which shut down the haters on this subject:  https://www.eevblog.com/forum/projects/my-advanced-realistic-humanoid-robots-project/msg5667751/?topicseen#msg5667751

Thanks. I think that's just saying that if you don't know what you're doing then bad things can happen, but the same applies to having a single big loop - you cannot react to asynchronous events quickly, and timing is a very tricky thing. You waste many cycles having to stop the particular operation you're doing to exit back to the loop to allow other stuff to continues. In any non-trivial system things don't happen to completion in sequence but (at least appear to) happen simultaneously. Obvious, if your big loop is busy dealing with one thing to completion the other cannot happen, so there is overhead (and it is relatively massive for any reasonably complex program) just to keep all the plates spinning.

I suspect that your issue with them occurs because you haven't yet used interrupt properly, and haven't created a project that was big enough, or had strict enough timing issues, to be unwieldy with a loop. But they are like any tool - used inappropriately you'll cut your fingers, but when you need them there is nothing else that will do the job.
 

Offline artbyrobotTopic starter

  • Frequent Contributor
  • **
  • !
  • Posts: 485
  • Country: us
    • www.artbyrobot.com
Re: My Advanced Realistic Humanoid Robots Project
« Reply #1106 on: November 18, 2024, 09:25:32 am »
no I've never used a interrupt and will never do so and recommend others not to do so.  It is poor programming practice to use them.
Robots Project website:  http://www.artbyrobot.com
Full humanoid robot building playlist:  https://www.youtube.com/playlist?list=PLhd7_i6zzT5-MbwGz2gMv6RJy5FIW_lfn
 

Offline artbyrobotTopic starter

  • Frequent Contributor
  • **
  • !
  • Posts: 485
  • Country: us
    • www.artbyrobot.com
Re: My Advanced Realistic Humanoid Robots Project
« Reply #1107 on: November 18, 2024, 09:44:26 am »
Also it really was not merely saying you have to know what you are doing.  He spoke on bugs being hard to reproduce and whatnot.  This is possible to face even for users who do know what they are doing so you boiling it down to only that was unfair.
Robots Project website:  http://www.artbyrobot.com
Full humanoid robot building playlist:  https://www.youtube.com/playlist?list=PLhd7_i6zzT5-MbwGz2gMv6RJy5FIW_lfn
 

Offline Leiothrix

  • Regular Contributor
  • *
  • Posts: 134
  • Country: au
Re: My Advanced Realistic Humanoid Robots Project
« Reply #1108 on: November 18, 2024, 11:06:43 am »
You didn't read that correctly.

Asynchronous programming can cause weird bugs, delays, race conditions and all sorts of other hard to find faults.

On the other hand they fix more problems than they cause, which is why they have been extensively used for the past 40 years or more.

It is poor programming practice not to use them when appropriate.  One however must be aware of the caveats and nuances, just as when deciding every single other part of the system.

You just demonstrably have absolutely no clue what you are talking about.
 
The following users thanked this post: xrunner, Kean, Kim Christensen, Analog Kid

Offline artbyrobotTopic starter

  • Frequent Contributor
  • **
  • !
  • Posts: 485
  • Country: us
    • www.artbyrobot.com
Re: My Advanced Realistic Humanoid Robots Project
« Reply #1109 on: November 18, 2024, 12:49:21 pm »
If there is some niche application where interrupts and their deadly perils which we have only scratched the surface of here so far is an absolute mandatory thing, then so be it.  I've never personally dealt with any such application but if you insist it exists so be it.  Have fun with that.  Meanwhile, us elite programmers who hate interrupts for countless reasons will be producing quality code that avoids the interrupt abomination.
Robots Project website:  http://www.artbyrobot.com
Full humanoid robot building playlist:  https://www.youtube.com/playlist?list=PLhd7_i6zzT5-MbwGz2gMv6RJy5FIW_lfn
 

Online xrunner

  • Super Contributor
  • ***
  • Posts: 7830
  • Country: us
  • hp>Agilent>Keysight>???
Re: My Advanced Realistic Humanoid Robots Project
« Reply #1110 on: November 18, 2024, 01:13:20 pm »
Here's a better image of the grooved outer race with more refinement. To refine it I cut away excess glue with exacto knife and then sanded it with a nail file a bit to smooth it out.

2439947-0

That part looks like a piece of junk pulled from some cheap $5 imported toy. It's laughable that you think that's something to show others in the public domain, like you are proud of it. A robot using those sort of crap parts will fail just because of that sort of quality workmanship, if not all the other reasons we've all seen. Why don't you get your kids to try making them, I think they might fair better.

But I have some really bad news for you to chew on regarding the robot project. I went back to ChatGPT with another question. I'm using ChatGPT because you believe this -

Chatgpt wouldn't lie.

Me: What sort of investment in time, people, and money might it take to build a full-size humanoid robot with artificial intelligence?

ChatGPT: Building a full-size humanoid robot with artificial intelligence (AI) is a complex, multidisciplinary endeavor requiring significant investment in time, personnel, and financial resources. Here's a breakdown of the main factors:

1. Time Investment

    Initial R&D Phase: 3–10 years, depending on the complexity of the robot and prior groundwork. If you're starting from scratch, developing both the hardware and software can take up to a decade.
    Prototyping and Testing: 2–5 years. Iterative design, testing, and refinement are crucial for ensuring safety and functionality.
    Deployment and Optimization: 1–3 years post-prototype to adapt the robot for specific applications (e.g., manufacturing, healthcare, or service tasks).

Total Time: 6–15+ years.

2. People Investment

A multidisciplinary team is essential, including expertise in:

    Mechanical Engineering: For designing the robot’s structure, joints, actuators, and materials.
    Electrical Engineering: To develop sensors, power systems, and control circuits.
    Computer Science & AI: To create advanced software for perception, decision-making, and learning.
    Human-Computer Interaction (HCI): To ensure intuitive interaction between humans and the robot.
    Specialists in Ethics and Regulation: For compliance and public trust.
    Project Managers & Operations Staff: To oversee timelines, resources, and execution.

Team Size:

    Small startups: 20–50 people.
    Large organizations or consortia: 200–500+ people.

3. Financial Investment

The cost of building a humanoid robot with AI can vary drastically based on scope and ambition.
Hardware

    Materials: High-strength alloys, lightweight composites, and sensors: $100,000–$500,000.
    Actuators: For joints and mobility: $50,000–$200,000.
    Electronics: Advanced chips, cameras, microphones, and batteries: $50,000–$300,000.

Software Development

    AI and Machine Learning: $500,000–$2,000,000 (or more) depending on sophistication.
    Simulation Environments: $100,000–$500,000.

Labor Costs

    Salaries for engineers, scientists, and developers: $2 million–$10+ million annually.

Testing & Prototyping

    Facilities: Dedicated labs and testing environments: $200,000–$1 million.
    Iterative Prototypes: Each prototype could cost $250,000–$1 million.

Marketing and Distribution (if applicable)

    For public adoption or commercialization: $1–5+ million.

Estimated Total Cost:

    Small-scale, single-function robot: $5–15 million.
    Advanced humanoid with cutting-edge AI (e.g., Boston Dynamics or Tesla's Optimus): $100 million–$1+ billion.

Case Study Comparisons

    Boston Dynamics' Atlas: Likely a multi-hundred-million-dollar investment over two decades.
    Tesla's Optimus: Aiming for a lower-cost, mass-market humanoid, with early prototypes estimated to cost millions each.
    Honda's ASIMO: Estimated development cost exceeded $300 million over 30 years.

Me: Thank you very much I will forward this answer to the forum.

Summary: Considering the estimates given, artbyrobot cannot possibly succeed in his quest, and we all know what he believes about what ChatGPT says -

Chatgpt wouldn't lie.

« Last Edit: November 18, 2024, 07:57:29 pm by xrunner »
I told my friends I could teach them to be funny, but they all just laughed at me.
 

Offline Kean

  • Supporter
  • ****
  • Posts: 2418
  • Country: au
  • Embedded systems & IT consultant
    • Kean Electronics
Re: My Advanced Realistic Humanoid Robots Project
« Reply #1111 on: November 18, 2024, 01:59:10 pm »
If there is some niche application where interrupts and their deadly perils which we have only scratched the surface of here so far is an absolute mandatory thing, then so be it.  I've never personally dealt with any such application but if you insist it exists so be it.  Have fun with that.  Meanwhile, us elite programmers who hate interrupts for countless reasons will be producing quality code that avoids the interrupt abomination.

How about pretty much every modern multi-tasking operating system.  Hardware or software interrupts are critical for task switching and I/O handling, both of which are things that must be super reliable.

Many of the same concepts needed to safely implement interrupts are also relevant for multi-core/multi-threaded architectures.  Your ATmega may not be multi-core, but many modern processors are these days including your chosen Intel Core i5-10400 2.9 GHz 6-Core Processor.

*Co-operative multi-tasking operating systems are an example that may not use interrupts.  They rely on well-behaved individual tasks to yield processor time, and also rely on polling for I/O (if no I/O interrupts are used).  While this removes some complexity in properly implementing synchronization primitives needed for interrupts, it can make them unreliable in other senses (like runaway tasks) and generally useless for something requiring real-time processing.  I'm not certain that any of these are still in general use, or have seen significant development in the last 20+ years.
 

Offline joeqsmith

  • Super Contributor
  • ***
  • Posts: 12174
  • Country: us
Re: My Advanced Realistic Humanoid Robots Project
« Reply #1112 on: November 18, 2024, 02:00:17 pm »
Quote
A multidisciplinary team is essential, including expertise in:

I think you left out  a key detail about the OP.  You are dealing with a god.  All knowing.  Perfection.  Elite. 

Quote
Here's a better image of the grooved outer race with more refinement. To refine it I cut away excess glue with exacto knife and then sanded it with a nail file a bit to smooth it out.
Quote
That part looks like a piece of junk pulled from some cheap $5 imported toy. It's laughable that you think that's something to show others in the public domain, like you are proud of it.

How much time was wasted on this one crappy part and how many parts were needed for the entire project.   

Offline coromonadalix

  • Super Contributor
  • ***
  • Posts: 6889
  • Country: ca
Re: My Advanced Realistic Humanoid Robots Project
« Reply #1113 on: November 18, 2024, 03:29:03 pm »
or this derailed AI   telling someone to die ??

https://www.livemint.com/technology/tech-news/googles-gemini-ai-sends-disturbing-response-tells-user-to-please-die-sundar-pichai-artificial-intelligence-11731905113822.html


@arty     you think your logic is not flawed in anything,  human is flawed by nature, anything coming from humans  may or will fail,   as now  any AI  is prone to some failures,   any computer logic is prone to failures, as of now  we can not think of any possible outcome ...  learning machines may derail because a machine will think in pure logic

human think in logic and non logic  ...

any robot with its own AI  with strictly defined sets of rules may one day be in conflict with his own learned rules
« Last Edit: November 18, 2024, 03:35:56 pm by coromonadalix »
 

Offline joeqsmith

  • Super Contributor
  • ***
  • Posts: 12174
  • Country: us
Re: My Advanced Realistic Humanoid Robots Project
« Reply #1114 on: November 18, 2024, 05:16:00 pm »
Quick search for OTS plastic pulleys with < 10mm OD.  Looks like the kids in the photos have progressed far beyond the OP.   I'm sure the OP considers these all to be junk.  They really need to be hand made by them using the most primitive techniques to get the perfect fit and function.   

https://www.amazon.com/TEHAUX-100pcs-Plastic-Transparent-Diameter/dp/B0BN9LC3S9/136-9981433-4558935?pd_rd_w=rBm9W&content-id=amzn1.sym.46e2be74-be72-4d3f-86e1-1de279690c4e&pf_rd_p=46e2be74-be72-4d3f-86e1-1de279690c4e&pf_rd_r=CZB94S1HR51AD5NSRRER&pd_rd_wg=InIvL&pd_rd_r=4b36ead0-48e3-4891-ac88-522a87341a85&pd_rd_i=B0BN9LC3S9&psc=1

Offline unseenninja

  • Regular Contributor
  • *
  • Posts: 102
  • Country: se
Re: My Advanced Realistic Humanoid Robots Project
« Reply #1115 on: November 18, 2024, 05:39:38 pm »
I'd have hoped that the engineers here would avoid legitimising the term "AI" when the only things that exist at the moment are brute force ML systems. No Intelligence at all, and nothing new. We've been using ML systems for decades for things like Intelligent Character Recognition. Nobody ever used the word "Intelligence" about these ML systems.

Much as I'm tempted to join the club here poking fun at Larry for his hubris, arrogance, and misplaced pride, I can't help but feel rather sorry for him. He's obviously deeply invested in his own illusions about his abilities and once self-delusion sets in, it is close to impossible to escape from it. The fact that he can't even see that many of his statements here are sinful from the perspective of his religion shows how deeply his self-delusion has infected his thinking. I guess that after you've invested ten years into trying to do something that we can all see will only end in failure, accepting that you've bitten off far more than you can chew is probably very difficult.

I wish you luck with your project Larry, but it's pretty obvious that it will never amount to anything as you have absolutely no idea of what you are up against when it comes to the actual details of writing software to make your hardware do anything. The fact that you can make idiotic statements like "interrupts should have never been invented" and "using interrupts is bad coding practise" is ample proof that your understanding of software engineering is around the same level as I had when I learned to program 46 years ago when I was 13.

While it might seem like good fun baiting someone like Larry, mocking the afflicted is hardly a noble sport. I won't make any more comments in this thread and I'd love to see Larry become the sole voice. Everyone has already pointed out all the problems with his plan and his obvious lack of ability without him understanding anything. Leaving it there and letting the thread die a natural death would seem the kindest choice.
 
The following users thanked this post: Kean, 0x68

Offline joeqsmith

  • Super Contributor
  • ***
  • Posts: 12174
  • Country: us
Re: My Advanced Realistic Humanoid Robots Project
« Reply #1116 on: November 18, 2024, 06:11:04 pm »
... I can't help but feel rather sorry for him. ...

Rare I feel sorry for any adult as they have choices. 

Several years ago I had read a book on AI which talked about  Jacques de Vaucanson.  Thanks to Wiki:
https://en.wikipedia.org/wiki/Jacques_de_Vaucanson

I can only imagine the flute player.   


***
A good article on the flue player
https://www.theguardian.com/books/2002/feb/16/extract.gabywood
« Last Edit: November 18, 2024, 09:08:01 pm by joeqsmith »
 

Online xrunner

  • Super Contributor
  • ***
  • Posts: 7830
  • Country: us
  • hp>Agilent>Keysight>???
Re: My Advanced Realistic Humanoid Robots Project
« Reply #1117 on: November 18, 2024, 07:57:04 pm »
Quick search for OTS plastic pulleys with < 10mm OD.  Looks like the kids in the photos have progressed far beyond the OP.   I'm sure the OP considers these all to be junk.  They really need to be hand made by them using the most primitive techniques to get the perfect fit and function.   

Yea those kids look to have gotten more working than our robot developer here. They're probably using interrupts too.

 :-DD

https://www.amazon.com/TEHAUX-100pcs-Plastic-Transparent-Diameter/dp/B0BN9LC3S9/136-9981433-4558935?pd_rd_w=rBm9W&content-id=amzn1.sym.46e2be74-be72-4d3f-86e1-1de279690c4e&pf_rd_p=46e2be74-be72-4d3f-86e1-1de279690c4e&pf_rd_r=CZB94S1HR51AD5NSRRER&pd_rd_wg=InIvL&pd_rd_r=4b36ead0-48e3-4891-ac88-522a87341a85&pd_rd_i=B0BN9LC3S9&psc=1
I told my friends I could teach them to be funny, but they all just laughed at me.
 

Offline Analog Kid

  • Frequent Contributor
  • **
  • Posts: 828
  • Country: us
Re: My Advanced Realistic Humanoid Robots Project
« Reply #1118 on: November 18, 2024, 08:57:38 pm »
https://www.amazon.com/TEHAUX-100pcs-Plastic-Transparent-Diameter/dp/B0BN9LC3S9/136-9981433-4558935

Heh; I love how some of the kids are wearing those "science-y" safety goggles: "Can't be too careful! One of those wires might come loose and lash you across the face!".

[note how I cleaned up your horrible URL: everything after "?" = garbage]
 

Offline Manul

  • Super Contributor
  • ***
  • Posts: 1256
  • Country: lt
Re: My Advanced Realistic Humanoid Robots Project
« Reply #1119 on: November 18, 2024, 08:59:25 pm »
This dicussion just reminded me. I was once ill in bed with fever. So naturally it came to my mind, why not try to make preemptive multitasking with ATmega328 (Arduino UNO). It's very primitive and minimalistic.

As you can see, loop() blinks the LED, Thread2() prints numbers to serial port seemingly at the same time.

Code: [Select]
//#########################################################################
// Multithreading / ultimate edition /
//#########################################################################

#define MAX_THREADS 4
#define HEAP_RESERVE 256

typedef struct {
  uint8_t  ThreadCount;
  uint8_t  ActiveThread;
  uint16_t StackPointer[MAX_THREADS];
  uint16_t StackBase[MAX_THREADS];
  uint16_t Address[MAX_THREADS];
  uint8_t  Initialized;
} THREADS;

volatile THREADS Threads;

//#########################################################################

void setup()
{
  Serial.begin(115200);
  pinMode(LED_BUILTIN, OUTPUT);
  CreateThread(Thread2);
}

//#########################################################################

void loop()
{
  while(true) {
    digitalWrite(LED_BUILTIN, HIGH);
    delay(100);
    digitalWrite(LED_BUILTIN, LOW);
    delay(100);
  }
}

//#########################################################################

void Thread2()
{
  uint8_t Counter = 0;
  while (true) {
    EnterCriticalSection();
    Serial.println(Counter++);
    LeaveCriticalSection();
    delay(1000);
  }
}

//#########################################################################
//#########################################################################
//#########################################################################

void CreateThread(void (*Address)()) {
  cli();
  if (!Threads.Initialized) {
    Threads.Initialized = 1;
    extern uint16_t __bss_end;
    for (uint8_t i=1; i<MAX_THREADS; i++) {
      Threads.StackBase[i] = RAMEND - ((RAMEND - (uint16_t)&__bss_end - HEAP_RESERVE) / MAX_THREADS) * i - 37;
    }
    TIMSK0 |= (1 << OCIE0A);
  }
  if (Threads.ThreadCount == MAX_THREADS - 1) {
    sei();
    return;
  }
  for (uint8_t i=1; i<=Threads.ThreadCount; i++) if (Threads.Address[i] == (uint16_t)Address) {
    sei();
    return;
  }
  Threads.ThreadCount++;
  Threads.Address[Threads.ThreadCount] = (uint16_t)Address;
  Threads.StackPointer[Threads.ThreadCount] = Threads.StackBase[Threads.ThreadCount];
  volatile uint8_t *pAddress = (uint8_t *)Threads.StackBase[Threads.ThreadCount];
  pAddress+=32;
  *pAddress++ = 0;
  *pAddress++ = 0;
  *pAddress++ = (uint16_t)Address>>8;
  *pAddress++ = (uint16_t)Address;
  *pAddress++ = (uint16_t)ThreadExitPoint>>8;
  *pAddress++ = (uint16_t)ThreadExitPoint;
  sei();
}

//#########################################################################

void DeleteThread(void (*Address)()) {
  cli();
  for (uint8_t i=1; i<=Threads.ThreadCount; i++) if (Threads.Address[i] == (uint16_t)Address) {
    if (Threads.ActiveThread == i) ThreadExitPoint();
    uint16_t StackBase = Threads.StackBase[Threads.ThreadCount];
    Threads.StackBase[Threads.ThreadCount] = Threads.StackBase[i];
    Threads.StackBase[i] = StackBase;
    Threads.StackPointer[i] = Threads.StackPointer[Threads.ThreadCount];
    Threads.Address[i] = Threads.Address[Threads.ThreadCount];
    Threads.ThreadCount--;
  }
  sei();
}

//#########################################################################

bool IsRunning(void (*Address)()) {
  cli();
  for (uint8_t i=1; i<=Threads.ThreadCount; i++) if (Threads.Address[i] == (uint16_t)Address) {
    sei();
    return true;
  }
  sei();
  return false;
}

//#########################################################################

uint8_t GetThreadCount() {
  return Threads.ThreadCount + 1;
}

//#########################################################################

void ThreadExitPoint() {
  cli();
  uint16_t StackBase = Threads.StackBase[Threads.ThreadCount];
  Threads.StackBase[Threads.ThreadCount] = Threads.StackBase[Threads.ActiveThread];
  Threads.StackBase[Threads.ActiveThread] = StackBase;
  Threads.StackPointer[Threads.ActiveThread] = Threads.StackPointer[Threads.ThreadCount];
  Threads.Address[Threads.ActiveThread] = Threads.Address[Threads.ThreadCount];
  Threads.ActiveThread = Threads.ThreadCount;
  Threads.ThreadCount--;
  sei();
  while(true);
}

//#########################################################################

void EnterCriticalSection()
{
  cli();
  TIMSK0 &= ~(1 << OCIE0A);
  sei();
}

//#########################################################################

void LeaveCriticalSection()
{
  cli();
  TIMSK0 |= (1 << OCIE0A);
  sei();
}

//#########################################################################

ISR(TIMER0_COMPA_vect, ISR_NAKED) {
  asm volatile(
  "push r1\n"
  "in r1,__SREG__\n"
  "push r1\n"
  "push r0\n"
  "push r2\n"
  "push r3\n"
  "push r4\n"
  "push r5\n"
  "push r6\n"
  "push r7\n"
  "push r8\n"
  "push r9\n"
  "push r10\n"
  "push r11\n"
  "push r12\n"
  "push r13\n"
  "push r14\n"
  "push r15\n"
  "push r16\n"
  "push r17\n"
  "push r18\n"
  "push r19\n"
  "push r20\n"
  "push r21\n"
  "push r22\n"
  "push r23\n"
  "push r24\n"
  "push r25\n"
  "push r26\n"
  "push r27\n"
  "push r28\n"
  "push r29\n"
  "push r30\n"
  "push r31\n"
  "in r26,__SP_L__\n"
  "in r27,__SP_H__\n"
  "lds r30,Threads+1\n"
  "lsl r30\n"
  "ldi r31,0\n"
  "subi r30,lo8(-(Threads+2))\n"
  "sbci r31,hi8(-(Threads+2))\n"
  "st Z,r26\n"
  "std Z+1,r27\n"
  "lds r30,Threads+1\n"
  "subi r30,1\n"
  "brcc no_wrap\n"
  "lds r30,Threads\n"
  "no_wrap:\n"
  "sts Threads+1,r30\n"
  "lsl r30\n"
  "ldi r31,0\n"
  "subi r30,lo8(-(Threads+2))\n"
  "sbci r31,hi8(-(Threads+2))\n"
  "ld r24,Z\n"
  "ldd r25,Z+1\n"
  "out __SP_L__,r24\n"
  "out __SP_H__,r25\n"
  "pop r31\n"
  "pop r30\n"
  "pop r29\n"
  "pop r28\n"
  "pop r27\n"
  "pop r26\n"
  "pop r25\n"
  "pop r24\n"
  "pop r23\n"
  "pop r22\n"
  "pop r21\n"
  "pop r20\n"
  "pop r19\n"
  "pop r18\n"
  "pop r17\n"
  "pop r16\n"
  "pop r15\n"
  "pop r14\n"
  "pop r13\n"
  "pop r12\n"
  "pop r11\n"
  "pop r10\n"
  "pop r9\n"
  "pop r8\n"
  "pop r7\n"
  "pop r6\n"
  "pop r5\n"
  "pop r4\n"
  "pop r3\n"
  "pop r2\n"
  "pop r0\n"
  "pop r1\n"
  "out __SREG__,r1\n"
  "pop r1\n"
  "reti\n"
  );
}

//#########################################################################

You can very easily create threads, delete threads, and use "critical section" in order to prevent interruption. Context switching speed 1kHz, so 1ms granularity. And it does not modify existing Arduino environment.

What do ya think?

It's a true hell of interrupting. Basically everything keeps interrupting all the time. Nothing is left uninterrupted. Even interrupts are themselves interrupted. If you put your ear to the Arduino board, you can HEAR how it's interrupting. The only way to stop the interrupts is to interrupt the power supply.
 
The following users thanked this post: xrunner, PlainName, Kean

Offline unseenninja

  • Regular Contributor
  • *
  • Posts: 102
  • Country: se
Re: My Advanced Realistic Humanoid Robots Project
« Reply #1120 on: November 18, 2024, 09:07:49 pm »
Rare I feel sorry for any adult as they have choices. 

It's a stretch to think that someone like Larry actually has much choice about the delusions they labour under. When your thinking is grounded in terms of religion which requires that you accept fairy tales as fact and accept that certain statements cannot be questioned, you're not exactly in a good position to question your own thinking.

Compassion and sympathy are things which distinguish the thinking man from the mob.
 
The following users thanked this post: 0x68

Offline joeqsmith

  • Super Contributor
  • ***
  • Posts: 12174
  • Country: us
Re: My Advanced Realistic Humanoid Robots Project
« Reply #1121 on: November 18, 2024, 09:12:50 pm »
Rare I feel sorry for any adult as they have choices. 

It's a stretch to think that someone like Larry actually has much choice about the delusions they labour under. When your thinking is grounded in terms of religion which requires that you accept fairy tales as fact and accept that certain statements cannot be questioned, you're not exactly in a good position to question your own thinking.

Compassion and sympathy are things which distinguish the thinking man from the mob.

I'll reserve compassion and sympathy for any children involved.  They don't have a choice.

Offline artbyrobotTopic starter

  • Frequent Contributor
  • **
  • !
  • Posts: 485
  • Country: us
    • www.artbyrobot.com
Re: My Advanced Realistic Humanoid Robots Project
« Reply #1122 on: November 18, 2024, 09:20:12 pm »
Quick search for OTS plastic pulleys with < 10mm OD.  Looks like the kids in the photos have progressed far beyond the OP.   I'm sure the OP considers these all to be junk.  They really need to be hand made by them using the most primitive techniques to get the perfect fit and function.   

https://www.amazon.com/TEHAUX-100pcs-Plastic-Transparent-Diameter/dp/B0BN9LC3S9/136-9981433-4558935?pd_rd_w=rBm9W&content-id=amzn1.sym.46e2be74-be72-4d3f-86e1-1de279690c4e&pf_rd_p=46e2be74-be72-4d3f-86e1-1de279690c4e&pf_rd_r=CZB94S1HR51AD5NSRRER&pd_rd_wg=InIvL&pd_rd_r=4b36ead0-48e3-4891-ac88-522a87341a85&pd_rd_i=B0BN9LC3S9&psc=1

waaaaaay too big.  almost 3x the diameter we need.
Robots Project website:  http://www.artbyrobot.com
Full humanoid robot building playlist:  https://www.youtube.com/playlist?list=PLhd7_i6zzT5-MbwGz2gMv6RJy5FIW_lfn
 

Offline unseenninja

  • Regular Contributor
  • *
  • Posts: 102
  • Country: se
Re: My Advanced Realistic Humanoid Robots Project
« Reply #1123 on: November 18, 2024, 09:28:17 pm »
I'll reserve compassion and sympathy for any children involved.  They don't have a choice.

I won't labour the point with you Joe, but if you really believe that all adults are capable of logical thought, then I guess you don't get out much. ;)
 
The following users thanked this post: 0x68

Offline artbyrobotTopic starter

  • Frequent Contributor
  • **
  • !
  • Posts: 485
  • Country: us
    • www.artbyrobot.com
Re: My Advanced Realistic Humanoid Robots Project
« Reply #1124 on: November 18, 2024, 09:30:01 pm »
As far as how long the last photo update item took to construct, I'd say maybe 15 minutes.  Most of that was waiting for glue to dry though so just relaxing as I wait.  About 5 minutes of actual work.

Now mind you this will go in between the two sandwiching plastic discs so the point of this groove is only to keep the fishing line that will wrap around this bearing from wedging itself in between a plastic disc and the bearing - thereby jamming the pulley.  So this work on the bearing is just jam prevention work only.  You are not looking at the finished pulley here, only the center part.
Robots Project website:  http://www.artbyrobot.com
Full humanoid robot building playlist:  https://www.youtube.com/playlist?list=PLhd7_i6zzT5-MbwGz2gMv6RJy5FIW_lfn
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf